本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
mysql.rds_set_external_master_gtid
設定從在 Amazon RDS 外部執行的 MariaDB 執行個體到 MariaDB 資料庫執行個體的 GTID 型複寫。僅在外部 MariaDB 執行個體的版本為 10.0.24 或更高版本時,才支援此存放程序。設定其中的一或兩個執行個體不支援 MariaDB 全域交易識別符 (GTID) 的複寫時,請使用 。
對複寫使用 GTID 可提供二進位日誌複寫未提供的損毀安全功能,因此建議您在複寫執行個體支援時加以使用。
語法
CALL mysql.rds_set_external_master_gtid( host_name , host_port , replication_user_name , replication_user_password , gtid , ssl_encryption );
參數
- host_name
-
字串. 要成為來源執行個體、在 Amazon RDS 外部執行的 MariaDB 執行個體的主機名稱或 IP 地址。
- host_port
-
整數. 要設定為來源執行個體、在 Amazon RDS 外部執行的 MariaDB 執行個體所使用的連接埠。如果網路組態包含會轉換連接埠號碼的 SSH 連接埠複寫,請指定 SSH 所公開的連接埠號碼。
- replication_user_name
-
字串. MariaDB 資料庫執行個體中具有
REPLICATION SLAVE
許可的使用者 ID 要設定為僅供讀取複本。 - replication_user_password
-
字串.
replication_user_name
中指定之使用者 ID 的密碼。 - gtid
-
字串. 來源執行個體上複寫應該從其開始的全域交易 ID。
在設定複寫時如果來源執行個體已遭鎖定,您可以使用
@@gtid_current_pos
來取得目前的 GTID,使得二進位日誌不會在您取得 GTID 和複寫開始的時間點之間變更。否則,如果您使用
mysqldump
版本 10.0.13 或以上版本在複寫開始之前填入複本執行個體,您可以使用--master-data
或--dump-slave
選項,在輸出中取得 GTID 位置。如果未使用mysqldump
版本 10.0.13 或以上版本,您可以執行SHOW MASTER STATUS
或使用那些相同的mysqldump
選項來取得二進位日誌檔案名稱和位置,然後透過在外部 MariaDB 執行個體上執行BINLOG_GTID_POS
,將它們轉換為 GTID:SELECT BINLOG_GTID_POS('<binary log file name>', <binary log file position>);
如需 GTID MariaDB 實作的詳細資訊,請前往 MariaDB 文件中的全域交易 ID
。 - ssl_encryption
-
此值指定在複寫連線上是否使用 Secure Socket Layer (SSL) 加密。1 指定使用 SSL 加密,0 指定不使用加密。預設為 0。
注意
不支援
MASTER_SSL_VERIFY_SERVER_CERT
選項。此選項設定為 0,表示連線已加密,但憑證未經過驗證。
使用須知
mysql.rds_set_external_master_gtid
程序必須由主要使用者執行。其必須在 MariaDB 資料庫執行個體上執行,您會將該執行個體設定為在 Amazon RDS 外部執行之 MariaDB 執行個體的複本。在執行 mysql.rds_set_external_master_gtid
之前,您必須在將 Amazon RDS 外部執行的 MariaDB 的執行個體設定為來源執行個體。如需更多詳細資訊,請參閱 將資料匯入 MariaDB 資料庫執行個體。
警告
請勿使用 mysql.rds_set_external_master_gtid
來管理兩個 Amazon RDS 資料庫執行個體之間的複寫。只有在使用在 RDS 外部執行的 MariaDB 執行個體進行複寫時才使用它。如需 Amazon RDS 資料庫執行個體之間管理複寫的相關資訊,請參閱使用資料庫執行個體僅供讀取複本。
呼叫 mysql.rds_set_external_master_gtid
將 Amazon RDS 資料庫執行個體設定為僅供讀取複本之後,您可以呼叫複本上的 mysql.rds_start_replication 來啟動複寫程序。您可以呼叫 來移除僅供讀取複本組態。
呼叫 mysql.rds_set_external_master_gtid
時,Amazon RDS 將時間、使用者和「設定主控」的動作記錄在 mysql.rds_history
和 mysql.rds_replication_status
資料表中。
範例
在 MariaDB 資料庫執行個體上執行時,下列範例會將它設定為在 Amazon RDS 外部執行之 MariaDB 執行個體的複本。
call mysql.rds_set_external_master_gtid ('Sourcedb.some.com',3306,'ReplicationUser','SomePassW0rd','0-123-456',0);