SkySQL Replication Helper Procedures for Distributed Transactions
This page is part of MariaDB's Documentation.
The parent of this page is: SkySQL Replication Helper Procedures
Topics on this page:
Overview
MariaDB SkySQL provides stored procedures in the sky database to configure inbound and outbound replication with a Distributed Transactions service.
Use Cases
Compatibility
add_binlog_scope_ignore
Executes the ALTER BINLOG .. ADD IGNORE(..) statement to add a binary log filter that ignores the specified scope.
CALL sky.add_binlog_scope_ignore(
binlog varchar(255),
db_table_entry varchar(255)
);
add_binlog_scope_log
Executes the ALTER BINLOG .. ADD LOG(..) statement to add a binary log filter that logs the specified scope.
CALL sky.add_binlog_scope_log(
binlog varchar(255),
db_table_entry varchar(255)
);
binlog_scope_ignore_all
Executes the ALTER BINLOG .. IGNORE ALL statement to reset the current binary log filters and ignore everything.
CALL sky.binlog_scope_ignore_all(
binlog varchar(255),
db_table_entry varchar(255)
);
binlog_scope_log_all
Executes the ALTER BINLOG .. LOG ALL statement to reset the binary log filters and log everything.
CALL sky.binlog_scope_log_all(
binlog varchar(255),
db_table_entry varchar(255)
);
binlog_status
Executes the SHOW MASTER STATUS statement to obtain the binary log file and position when configuring outbound serial replication.
CALL sky.binlog_status();
+--------------------+----------+--------------+----------------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+----------------------------------------------------+
| mariadb-bin.000001 | 4 | NULL | system, _replication, clustrix_statd, clustrix_dbi |
+--------------------+----------+--------------+----------------------------------------------------+
binlog_status_parallel
Executes the SHOW MASTER STATUS PARALLEL statement to obtain the binary log file and position when configuring outbound parallel replication from an external replica server running MariaDB Xpand 6.
CALL sky.binlog_status_parallel();
+-----------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-----------+----------+--------------+------------------+
| xpand-bin | 0 | | |
+-----------+----------+--------------+------------------+
change_external_primary
Executes the CHANGE MASTER TO statement to configure inbound replication from an external primary server based on binary log file and position.
CALL sky.change_external_primary(
host varchar(255),
port int(11),
logfile text,
logpos bigint(20),
use_ssl_encryption tinyint(1)
);
+--------------------------------------------------------------------------------------------------------------+
| Run_this_grant_on_your_external_primary |
+--------------------------------------------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'skysql_replication'@'%' IDENTIFIED BY '<password>'; |
+--------------------------------------------------------------------------------------------------------------+
create_binlog
Executes the CREATE BINLOG statement to create a binary log file. The stype parameter should be set to either 'mariadb' or 'xpand', depending on whether the external replica server runs MariaDB Server or MariaDB Xpand.
CALL sky.create_binlog(
stype varchar(15),
name varchar(255)
);
create_replication_slave_parallel
Executes the CREATE SLAVE statement to configure a parallel replication slave named default that performs inbound parallel replication from an external primary server running MariaDB Xpand 6.
CALL sky.create_replication_slave_parallel(
rhost varchar(255),
rport int(11),
ruser varchar(255),
rpass varchar(255),
logfile text,
logpos bigint(20),
use_ssl_encryption tinyint(1),
slices int(11),
batch_size_ms int(11)
);
drop_binlog
Executes the DROP BINLOG statement to drop a binary log file.
CALL sky.drop_binlog(
name varchar(255)
);
drop_binlog_scope_ignore
Executes the ALTER BINLOG .. DROP IGNORE(..) statement to remove a binary log filter that ignores the specified scope.
CALL sky.drop_binlog_scope_ignore(
binlog varchar(255),
db_table_entry varchar(255)
);
drop_binlog_scope_log
Executes the ALTER BINLOG .. DROP LOG(..) statement to remove a binary log filter that logs the specified scope.
CALL sky.drop_binlog_scope_log(
binlog varchar(255),
db_table_entry varchar(255)
);
drop_replication_slave_parallel
Executes the STOP SLAVE and DROP SLAVE statements to stop and drop the parallel replication slave named default.
CALL sky.drop_replication_slave_parallel();
drop_repl_users
Drops the database user account created by sky.install_repl_users().
CALL sky.drop_repl_users();
get_replica_creds
Prints the database user account credentials created by sky.install_repl_users().
CALL sky.get_replica_creds();
+-------------------------------+----------------------------------+
| PRIMARY_USER | PRIMARY_PASSWORD |
+-------------------------------+----------------------------------+
| skysql_replication | <password> |
+-------------------------------+----------------------------------+
install_repl_users
Creates a database user account that can be used to configure outbound replication. The credentials can be retrieved with sky.get_replica_creds(). The database user account can be dropped with sky.drop_repl_users().
CALL sky.install_repl_users();
replication_grants
Provides a GRANT statement to run on an external primary server when configuring inbound replication.
CALL sky.replication_grants();
+--------------------------------------------------------------------------------------------------------------+
| Run_this_grant_on_your_external_primary |
+--------------------------------------------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'skysql_replication'@'%' IDENTIFIED BY '<password>'; |
+--------------------------------------------------------------------------------------------------------------+
replication_status
Executes the SHOW SLAVE STATUS statement to obtain the status of inbound replication.
CALL sky.replication_status();
*************************** 1. row ***************************
Slave_Name: default
Slave_Status: Running
Master_Host: mariadb1.example.com
Master_Port: 3306
Master_User: skysql_replication
Master_Log_File: mariadb-bin
Slave_Enabled: Enabled
Log_File_Seq: 1
Log_File_Pos: 569
Last_Error: no error
Connection_Status: Connected
Relay_Log_Bytes_Read: 0
Relay_Log_Current_Bytes: 0
Seconds_Behind_Master: 0
reset_replication
Executes the STOP SLAVE and START SLAVE statements to restart the replication slave named default.
CALL sky.reset_replication();
skip_repl_error
This stored procedure can be used to ignore a transaction that is causing a replication error.
Executes the STOP SLAVE statement, then sets the sql_slave_skip_counter system variable, and then executes the START SLAVE statements to skip a single transaction for the replication slave named default.
CALL sky.skip_repl_error();
start_replication
Executes the START SLAVE statement to start the replication slave named default that performs inbound replication from an external primary.
CALL sky.start_replication();
+----------------------------------------+
| Message |
+----------------------------------------+
| External replication running normally. |
+----------------------------------------+
stop_replication
Executes the STOP SLAVE statement to stop the replication slave named default that performs inbound replication from an external primary.
CALL sky.stop_replication();
