Usage notes
PolarDB-X is compatible with the MySQL replication protocol. Therefore, you can replicate data from PolarDB-X to MySQL. You can execute the following SQL statements on MySQL to manage the replication link between PolarDB-X and MySQL. For more information about the SQL statements for data replication, see the official documentation of MySQL.
If your PolarDB-X instance is compatible with MySQL 5.7, use a MySQL 5.7 database as the secondary database of PolarDB-X. If your PolarDB-X instance is compatible with MySQL 8.0, use a MySQL 8.0 database as the secondary database of PolarDB-X. We recommend that you use MySQL 8.0.27 or later.
If you enable the multi-stream binary logging feature, you must create a replication link for each binary log stream when you configure a MySQL database as the secondary database of PolarDB-X. You can configure multiple replication links on a single MySQL instance or configure a separate MySQL secondary instance for each binary log stream. If you want to configure multiple replication links on a single MySQL instance, the broadcast replication by using DDL statements is difficult.
Procedure
Execute the following statement to create a replication link.
CHANGE MASTER TO option [, option] ... [ channel_option ] option: { MASTER_BIND = 'interface_name' | MASTER_HOST = 'host_name' | MASTER_USER = 'user_name' | MASTER_PASSWORD = 'password' | MASTER_PORT = port_num | PRIVILEGE_CHECKS_USER = {'account' | NULL} | REQUIRE_ROW_FORMAT = {0|1} | REQUIRE_TABLE_PRIMARY_KEY_CHECK = {STREAM | ON | OFF} | ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = {OFF | LOCAL | uuid} | MASTER_LOG_FILE = 'source_log_name' | MASTER_LOG_POS = source_log_pos | MASTER_AUTO_POSITION = {0|1} | RELAY_LOG_FILE = 'relay_log_name' | RELAY_LOG_POS = relay_log_pos | MASTER_HEARTBEAT_PERIOD = interval | MASTER_CONNECT_RETRY = interval | MASTER_RETRY_COUNT = count | SOURCE_CONNECTION_AUTO_FAILOVER = {0|1} | MASTER_DELAY = interval | MASTER_COMPRESSION_ALGORITHMS = 'value' | MASTER_ZSTD_COMPRESSION_LEVEL = level | MASTER_SSL = {0|1} | MASTER_SSL_CA = 'ca_file_name' | MASTER_SSL_CAPATH = 'ca_directory_name' | MASTER_SSL_CERT = 'cert_file_name' | MASTER_SSL_CRL = 'crl_file_name' | MASTER_SSL_CRLPATH = 'crl_directory_name' | MASTER_SSL_KEY = 'key_file_name' | MASTER_SSL_CIPHER = 'cipher_list' | MASTER_SSL_VERIFY_SERVER_CERT = {0|1} | MASTER_TLS_VERSION = 'protocol_list' | MASTER_TLS_CIPHERSUITES = 'ciphersuite_list' | MASTER_PUBLIC_KEY_PATH = 'key_file_name' | GET_MASTER_PUBLIC_KEY = {0|1} | NETWORK_NAMESPACE = 'namespace' | IGNORE_SERVER_IDS = (server_id_list) } channel_option: FOR CHANNEL channel server_id_list: [server_id [, server_id] ... ]
Execute the following statement to start data replication.
START {SLAVE | REPLICA}
Execute the following statement to stop data replication.
STOP {SLAVE | REPLICA}
Execute the following statement to reset data replication. Take note that you must stop your data replication task before you execute the following statement.
RESET {SLAVE | REPLICA} [ALL] [channel_option] channel_option: FOR CHANNEL channel