mysql.rds_set_external_master_gtid - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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_historymysql.rds_replication_status 資料表中。

範例

在 MariaDB 資料庫執行個體上執行時,下列範例會將它設定為在 Amazon RDS 外部執行之 MariaDB 執行個體的複本。

call mysql.rds_set_external_master_gtid ('Sourcedb.some.com',3306,'ReplicationUser','SomePassW0rd','0-123-456',0);