本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理多重來源複製
下列預存程序設定和管理 My SQL 多來源複本上RDS的複寫通道。如需詳細資訊,請參閱為 Amazon RDS for My 設定 multi-source-replication SQL。
這些預存程序僅RDS適用於執行下列引擎版本的 My SQL DB 執行個體:
8.0.35 及更高版本的次要版本
5.7.44 及更高版本的次要版本
注意
雖然本文件與我的資料庫執行個體一樣RDS參考來源SQL資料庫執行個體,但這些程序也適用於 Amazon 外部SQL執行的 My 執行個體RDS。
主題
下一個源代碼日誌通道
將來源資料庫執行個體記錄位置變更為通道之來源資料庫執行個體上下一個二進位記錄檔的開頭。只有在多來源複本上收到複寫 I/O 錯誤 1236 時,才使用此程序。
語法
CALL mysql.rds_next_source_log_for_channel(
curr_master_log
,channel_name
);
參數
-
curr_master_log
-
目前來源日誌檔案的索引。例如,若目前檔案的名稱是
mysql-bin-changelog.012345
,則索引為 12345。若要查明目前來源日誌檔案名稱,請執行SHOW REPLICA STATUS FOR CHANNEL '
命令並檢視channel_name
'Source_Log_File
欄位。注意
以前版本的我SQL使用
SHOW SLAVE STATUS
而不是SHOW REPLICA STATUS
. 如果您使用的是 8.0.23 之前的「我的SQL版本」,請使用.SHOW SLAVE STATUS
-
channel_name
-
多來源複本上複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_next_source_log_for_channel
程序。例如,如果發生 IO_Thread 錯誤,您可以使用此程序略過目前二進位記錄檔中的所有事件,並從中指定通道的下一個二進位記錄檔繼續複寫。channel_name
範例
假設多來源複本上的通道上的複寫失敗。在多重來源複本SHOW REPLICA STATUS FOR CHANNEL 'channel_1'\G
上執行會傳回下列結果:
mysql> SHOW REPLICA STATUS FOR CHANNEL 'channel_1'\G *************************** 1. row *************************** Replica_IO_State: Waiting for source to send event Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Source_User: ReplicationUser Source_Port: 3306 Connect_Retry: 60 Source_Log_File: mysql-bin-changelog.012345 Read_Source_Log_Pos: 1219393 Relay_Log_File: replica-relay-bin.000003 Relay_Log_Pos: 30223388 Relay_Source_Log_File: mysql-bin-changelog.012345 Replica_IO_Running: No Replica_SQL_Running: Yes Replicate_Do_DB:. . . Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: . . Channel_name: channel_1 . . -- Some fields are omitted in this example output
Last_IO_Errno
欄位顯示執行個體收到輸入/輸出錯誤 1236。Source_Log_File
欄位顯示檔案名稱是 mysql-bin-changelog.012345
,這表示日誌檔案索引為 12345
。要解決錯誤,您可以mysql.rds_next_source_log_for_channel
使用以下參數調用:
CALL mysql.rds_next_source_log_for_channel(12345,'channel_1');
注意
以前版本的我SQL使用SHOW SLAVE STATUS
而不是SHOW REPLICA STATUS
. 如果您使用的是 8.0.23 之前的「我的SQL版本」,請使用. SHOW SLAVE STATUS
神秘的 rds_reset_ 外部來源 _ 通道
停止指定通道上的複製程序,並從多來源複本中移除通道和相關組態。
重要
若要執行此程序,必須啟用 autocommit
。若要啟用它,請將 autocommit
參數設定為 1
。如需修改參數的相關資訊,請參閱修改 Amazon RDS Amazon 數據庫參數組中的參數。
語法
CALL mysql.rds_reset_external_source_for_channel (
channel_name
);
參數
-
channel_name
-
多來源複本上複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_reset_external_source_for_channel
程序。此程序會刪除屬於要移除之通道的所有轉送記錄。
神秘的 rds_set_ 外部源代碼通道
RDS為 My DB 執行個體設定複寫通道,以便從 My SQL DB 執行個體複製另一個執行個體RDS的資料。SQL
重要
若要執行此程序,必須啟用 autocommit
。若要啟用它,請將 autocommit
參數設定為 1
。如需修改參數的相關資訊,請參閱修改 Amazon RDS Amazon 數據庫參數組中的參數。
注意
您可以改用神秘的 rds_set_外部_源_使用_延遲層_for_通道預存程序來設定延遲複寫的這個通道。
語法
CALL mysql.rds_set_external_source_for_channel (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
,channel_name
);
參數
-
host_name
-
我的SQL來源資料庫執行個體的RDS主機名稱或 IP 位址。
-
host_port
-
用於 My SQL 來源資料庫執行個體的連接埠。RDS如果您的網路組態包含轉換連接埠號碼的 Secure Shell (SSH) 連接埠複寫,請指定公開的連接埠號碼SSH。
-
replication_user_name
-
RDS對於 My SQL 來源資料庫執行個體具有
REPLICATION CLIENT
和REPLICATION SLAVE
權限的使用者識別碼。建議您提供僅用於複寫來源資料庫執行個體的帳戶。 -
replication_user_password
-
replication_user_name
中指定之使用者 ID 的密碼。 -
mysql_binary_log_file_name
-
來源資料庫執行個體上包含複寫資訊的二進位記錄名稱。
-
mysql_binary_log_file_location
-
複寫在
mysql_binary_log_file_name
二進位日誌中開始讀取複寫資訊的位置。您可以透過在來源資料庫執行個體
SHOW MASTER STATUS
上執行來判斷 binlog 檔案名稱和位置。 -
ssl_encryption
-
指定複寫連線是否使用安全通訊端層 (SSL) 加密的值。1 指定使用SSL加密,0 表示不使用加密。預設值為 0。
注意
不支援
MASTER_SSL_VERIFY_SERVER_CERT
選項。此選項設定為 0,表示連線已加密,但憑證未經過驗證。 -
channel_name
-
複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_set_external_source_for_channel
程序。此程序必須在建立複寫通道RDS的 My SQL DB 執行個體的目標上執行。
執行之前mysql.rds_set_external_source_for_channel
,請在來源資料庫執行個體上設定具有多來源複本所需權限的複寫使用者。若要將多來源複本連線到來源資料庫執行個體,您必須指定replication_user_name
具有來源資料庫執行個體REPLICATION CLIENT
和REPLICATION SLAVE
權限的複寫使用者replication_user_password
值。
在來源資料庫執行個體上設定複寫使用者
使用您選擇的 My SQL Client 連線到來源資料庫執行個體,並建立用於複寫的使用者帳戶。以下是範例。
重要
為了安全性最佳作法,請指定下列範例中顯示的預留位置值以外的密碼。
我的 SQL 8
CREATE USER 'repl_user'@'example.com' IDENTIFIED WITH mysql_native_password BY '
password
';我的 SQL 5
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY '
password
';在來源資料庫執行個體上,將複寫使用者授
REPLICATION CLIENT
與REPLICATION SLAVE
權限。下列範例將所有資料庫上的REPLICATION CLIENT
和REPLICATION SLAVE
權限授予您網域中的 'repl_user' 使用者。GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
若要使用加密複寫,請將來源資料庫執行個體設定為使用SSL連線。
我們的域名開始複製通道在呼叫設mysql.rds_set_external_source_for_channel
定此複寫通道之後,您可以呼叫複本以在通道上啟動複寫程序。您可神秘的 rds_reset_ 外部來源 _ 通道以呼叫停止通道上的複寫,並從複本中移除通道組態。
當您呼叫時mysql.rds_set_external_source_for_channel
,Amazon 會set channel source
在mysql.rds_history
表格中RDS記錄的時間、使用者和動作,而不需要特定於通道的詳細資訊,並在mysql.rds_replication_status
表格中使用通道名稱。此資訊僅供內部使用和監控用途進行記錄。若要記錄完整的程序呼叫以進行稽核,請考慮根據應用程式的特定需求啟用稽核記錄或一般記錄。
範例
在 RDS for My SQL DB 執行個體上執行時,下列範例會設定channel_1
在此資料庫執行個體上命名的複寫通道,以從主機sourcedb.example.com
和連接埠指定的來源複寫資料。3306
call mysql.rds_set_external_source_for_channel( 'sourcedb.example.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.0777', 120, 0, 'channel_1');
使用自動位置 _ 通道的 mysql.rds_set_外部源_來源
在 My SQL DB 執行個RDS體上設定複寫通道,並具有選擇性的複寫延遲。複寫是以全域交易識別碼 (GTIDs) 為基礎。
重要
若要執行此程序,必須啟用 autocommit
。若要啟用它,請將 autocommit
參數設定為 1
。如需修改參數的相關資訊,請參閱修改 Amazon RDS Amazon 數據庫參數組中的參數。
語法
CALL mysql.rds_set_external_source_with_auto_position_for_channel (
host_name
,host_port
,replication_user_name
,replication_user_password
,ssl_encryption
,delay
,channel_name
);
參數
-
host_name
-
我的SQL來源資料庫執行個體的RDS主機名稱或 IP 位址。
-
host_port
-
用於 My SQL 來源資料庫執行個體的連接埠。RDS如果您的網路組態包含轉換連接埠號碼的 Secure Shell (SSH) 連接埠複寫,請指定公開的連接埠號碼SSH。
-
replication_user_name
-
RDS對於 My SQL 來源資料庫執行個體具有
REPLICATION CLIENT
和REPLICATION SLAVE
權限的使用者識別碼。建議您提供僅用於複寫來源資料庫執行個體的帳戶。 -
replication_user_password
-
replication_user_name
中指定之使用者 ID 的密碼。 -
ssl_encryption
-
指定複寫連線是否使用安全通訊端層 (SSL) 加密的值。1 指定使用SSL加密,0 表示不使用加密。預設值為 0。
注意
不支援
MASTER_SSL_VERIFY_SERVER_CERT
選項。此選項設定為 0,表示連線已加密,但憑證未經過驗證。 -
delay
-
延遲來源資料庫執行個體複寫的最小秒數。
此參數的限制為一日 (86400 秒)。
-
channel_name
-
複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_set_external_source_with_auto_position_for_channel
程序。此程序必須在建立複寫通道RDS的 My SQL DB 執行個體的目標上執行。
執行之前rds_set_external_source_with_auto_position_for_channel
,請在來源資料庫執行個體上設定具有多來源複本所需權限的複寫使用者。若要將多來源複本連線到來源資料庫執行個體,您必須指定replication_user_name
具有來源資料庫執行個體REPLICATION CLIENT
和REPLICATION SLAVE
權限的複寫使用者replication_user_password
值。
在來源資料庫執行個體上設定複寫使用者
使用您選擇的 My SQL Client 連線到來源資料庫執行個體,並建立用於複寫的使用者帳戶。以下是範例。
重要
為了安全性最佳作法,請指定下列範例中顯示的預留位置值以外的密碼。
我的 SQL 8
CREATE USER 'repl_user'@'example.com' IDENTIFIED WITH mysql_native_password BY '
password
';我的 SQL 5
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY '
password
';在來源資料庫執行個體上,將複寫使用者授
REPLICATION CLIENT
與REPLICATION SLAVE
權限。下列範例將所有資料庫上的REPLICATION CLIENT
和REPLICATION SLAVE
權限授予您網域中的 'repl_user' 使用者。GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
若要使用加密複寫,請將來源資料庫執行個體設定為使用SSL連線。
在呼叫之前mysql.rds_set_external_source_with_auto_position_for_channel
,請務必呼叫已清除的 MySQL 集外部資料來源以使用外部來源的指定GTID範圍設定gtid_purged
系統變數。
在呼叫mysql.rds_set_external_source_with_auto_position_for_channel
將 Amazon RDS 資料庫執行個體設定為特定通道上的僅供讀取複本後,您可以呼叫我們的域名開始複製通道僅供讀取複本以在該通道上啟動複寫程序。
我們的域名開始複製通道在呼叫設mysql.rds_set_external_source_with_auto_position_for_channel
定此複寫通道之後,您可以呼叫複本以在通道上啟動複寫程序。您可神秘的 rds_reset_ 外部來源 _ 通道以呼叫停止通道上的複寫,並從複本中移除通道組態。
範例
在 My SQL DB 執行個體上執行時,下列範例會將此資料庫執行個體channel_1
上名RDS為的複寫通道設定為從主機sourcedb.example.com
和連接埠指定的來源複寫資料。3306
它會將最短複寫延遲設定為一小時 (3,600 秒)。這表示 My SQL DB 執行個體的來源RDS變更至少不會套用至少一個小時至少在多來源複本上。
call mysql.rds_set_external_source_with_auto_position_for_channel( 'sourcedb.example.com', 3306, 'repl_user', 'password', 0, 3600, 'channel_1');
神秘的 rds_set_外部_源_使用_延遲層_for_通道
在 My SQL DB 執行個RDS體上設定具有指定複寫延遲的複寫通道。
重要
若要執行此程序,必須啟用 autocommit
。若要啟用它,請將 autocommit
參數設定為 1
。如需修改參數的相關資訊,請參閱修改 Amazon RDS Amazon 數據庫參數組中的參數。
語法
CALL mysql.rds_set_external_source_with_delay_for_channel (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
,delay
,channel_name
);
參數
-
host_name
-
我的SQL來源資料庫執行個體的RDS主機名稱或 IP 位址。
-
host_port
-
用於 My SQL 來源資料庫執行個體的連接埠。RDS如果您的網路組態包含轉換連接埠號碼的 Secure Shell (SSH) 連接埠複寫,請指定公開的連接埠號碼SSH。
-
replication_user_name
-
RDS對於 My SQL 來源資料庫執行個體具有
REPLICATION CLIENT
和REPLICATION SLAVE
權限的使用者識別碼。建議您提供僅用於複寫來源資料庫執行個體的帳戶。 -
replication_user_password
-
replication_user_name
中指定之使用者 ID 的密碼。 -
mysql_binary_log_file_name
-
來源資料庫執行個體上的二進位記錄名稱包含複寫資訊。
-
mysql_binary_log_file_location
-
在
mysql_binary_log_file_name
二進位日誌中的複寫將開始讀取複寫資訊的位置。您可以藉由在來源資料庫執行個體上執行
SHOW MASTER STATUS
來判斷 binlog 檔案名稱和位置。 -
ssl_encryption
-
指定複寫連線是否使用安全通訊端層 (SSL) 加密的值。1 指定使用SSL加密,0 表示不使用加密。預設值為 0。
注意
不支援
MASTER_SSL_VERIFY_SERVER_CERT
選項。此選項設定為 0,表示連線已加密,但憑證未經過驗證。 -
delay
-
延遲來源資料庫執行個體複寫的最小秒數。
此參數的限制為一日 (86400 秒)。
-
channel_name
-
複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_set_external_source_with_delay_for_channel
程序。此程序必須在建立複寫通道RDS的 My SQL DB 執行個體的目標上執行。
執行之前mysql.rds_set_external_source_with_delay_for_channel
,請在來源資料庫執行個體上設定具有多來源複本所需權限的複寫使用者。若要將多來源複本連線到來源資料庫執行個體,您必須指定replication_user_name
具有來源資料庫執行個體REPLICATION CLIENT
和REPLICATION SLAVE
權限的複寫使用者replication_user_password
值。
在來源資料庫執行個體上設定複寫使用者
使用您選擇的 My SQL Client 連線到來源資料庫執行個體,並建立用於複寫的使用者帳戶。以下是範例。
重要
為了安全性最佳作法,請指定下列範例中顯示的預留位置值以外的密碼。
我的 SQL 8
CREATE USER 'repl_user'@'example.com' IDENTIFIED WITH mysql_native_password BY '
password
';我的 SQL 5
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY '
password
';在來源資料庫執行個體上,將複寫使用者授
REPLICATION CLIENT
與REPLICATION SLAVE
權限。下列範例將所有資料庫上的REPLICATION CLIENT
和REPLICATION SLAVE
權限授予您網域中的 'repl_user' 使用者。GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
若要使用加密複寫,請將來源資料庫執行個體設定為使用SSL連線。
我們的域名開始複製通道在呼叫設mysql.rds_set_external_source_with_delay_for_channel
定此複寫通道之後,您可以呼叫複本以在通道上啟動複寫程序。您可神秘的 rds_reset_ 外部來源 _ 通道以呼叫停止通道上的複寫,並從複本中移除通道組態。
當您呼叫時mysql.rds_set_external_source_with_delay_for_channel
,Amazon 會set channel source
在mysql.rds_history
表格中RDS記錄的時間、使用者和動作,而不需要特定於通道的詳細資訊,並在mysql.rds_replication_status
表格中使用通道名稱。此資訊僅供內部使用和監控用途進行記錄。若要記錄完整的程序呼叫以進行稽核,請考慮根據應用程式的特定需求啟用稽核記錄或一般記錄。
範例
在 My SQL DB 執行個體上執行時,下列範例會將此資料庫執行個體channel_1
上名RDS為的複寫通道設定為從主機sourcedb.example.com
和連接埠指定的來源複寫資料。3306
它會將最短複寫延遲設定為一小時 (3,600 秒)。這表示 My SQL DB 執行個體的來源RDS變更至少不會套用至少一個小時至少在多來源複本上。
call mysql.rds_set_external_source_with_delay_for_channel( 'sourcedb.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000777', 120, 0, 3600, 'channel_1');
神秘的 rds_ 集合來源 _ 自動位置 _ 通道
根據二進位記錄檔位置或全域交易識別碼 (GTIDs),將指定通道的複寫模式設定為基礎。
語法
CALL mysql.rds_set_source_auto_position_for_channel (
auto_position_mode
,channel_name
);
參數
-
auto_position_mode
-
指出要使用記錄檔位置複製還是以記錄檔GTID為基礎的複製的值:
-
0
– 使用依據二進制日誌檔案位置的複寫模式。預設值為0
。 -
1
— 使用GTID基於複製的方法。
-
-
channel_name
-
多來源複本上複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_set_source_auto_position_for_channel
程序。此程序會重新啟動指定通道上的複寫,以套用指定的 auto 定位模式。
範例
下列範例會將 channel_1 的 auto 定位模式設定為使用GTID基礎的複製方法。
call mysql.rds_set_source_auto_position_for_channel(1,'channel_1');
神秘的 rds_ 集合來源 _ 延遲 _ 通道
設定延遲從來源資料庫執行處理複製到指定通道的多來源複本的最小秒數。
語法
CALL mysql.rds_set_source_delay_for_channel(
delay
,channel_name
);
參數
-
delay
-
延遲來源資料庫執行個體複寫的最小秒數。
此參數的限制為一日 (86400 秒)。
-
channel_name
-
多來源複本上複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_set_source_delay_for_channel
程序。若要使用此程序,請先呼叫mysql.rds_stop_replication_for_channel
停止複寫。然後,呼叫此程序來設定複寫延遲值。設定延遲時,呼叫mysql.rds_start_replication_for_channel
以重新啟動複寫。
範例
下列範例會將多來源複本上channel_1
的來源資料庫執行處理複寫延遲設定至少一小時 (3,600 秒)。
CALL mysql.rds_set_source_delay_for_channel(3600,'channel_1');
為通道提供錯誤的解決方案
略過二進位記錄事件,並刪除指定通道的 My SQL DB 多來源複本上的複寫錯誤。
語法
CALL mysql.rds_skip_repl_error_for_channel(
channel_name
);
參數
-
channel_name
-
多來源複本上複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須在僅供讀取複本上執行 mysql.rds_skip_repl_error_for_channel
程序。您可以用類似的方式來使用mysql.rds_skip_repl_error
此程序來略過僅供讀取複本上的錯誤。如需詳細資訊,請參閱呼叫 mysql.rds_skip_repl_error 程序。
若要判斷是否有錯誤,請執行 My SQL SHOW REPLICA STATUS FOR CHANNEL '
命令。如果複寫錯誤不嚴重,您可以執行 channel_name
'\Gmysql.rds_skip_repl_error_for_channel
來略過錯誤。如果有多個錯誤,請mysql.rds_skip_repl_error_for_channel
刪除指定複製通道上的第一個錯誤,然後警告其他錯誤存在。然後,您可以使用 SHOW REPLICA STATUS FOR CHANNEL '
,以針對下一個錯誤判斷正確的行動步驟。如需有關傳回值的資訊,請參閱 My SQL 文件中的SHOWREPLICASTATUS陳述式channel_name
'\G
我們的域名開始複製通道
啟動 My SQL DB 執行個體RDS的複寫到指定通道上的多來源複本。
注意
您可以使用myql.rds_ 開始複製 _ 取消通道或我們的域名開始複製 _ 取消通道預存程序從 My SQL DB 執行個RDS體啟動複寫,並在指定的二進位記錄檔位置停止複寫。
語法
CALL mysql.rds_start_replication_for_channel(
channel_name
);
參數
-
channel_name
-
多來源複本上複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_start_replication_for_channel
程序。從 My SQL DB 執行個體的來源匯入資料後,RDS請在多來源複本上執行此命令,以在指定的通道上開始複寫。
範例
下列範例會在多來源複channel_1
本上啟動複寫。
CALL mysql.rds_start_replication_for_channel('channel_1');
myql.rds_ 開始複製 _ 取消通道
從指定通道上的 My SQL DB 執RDS行個體啟動複寫,並在指定的二進位記錄檔位置停止複寫。
語法
CALL mysql.rds_start_replication_until_for_channel (
replication_log_file
,replication_stop_point
,channel_name
);
參數
-
replication_log_file
-
來源資料庫執行個體上的二進位記錄名稱包含複寫資訊。
-
replication_stop_point
-
在
replication_log_file
二進位日誌中的複寫將停止的位置。 -
channel_name
-
多來源複本上複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_start_replication_until_for_channel
程序。透過此程序,複寫會在到達指定的 binlog 檔案位置時啟動,然後停止。對於 8.0 版,程序只會停止SQL_Thread
. 對於 5.7 版,程序會同時停止SQL_Thread
和IO_Thread
.
為replication_log_file
參數指定的檔案名稱必須與來源資料庫執行個體 binlog 檔案名稱相符。
當replication_stop_point
參數指定過去的停止位置時,會立即停止複寫。
範例
下列範例會在上啟動複寫channel_1
,並複寫變更,直到到達mysql-bin-changelog.000777
二進位記錄檔120
中的位置為止。
call mysql.rds_start_replication_until_for_channel( 'mysql-bin-changelog.000777', 120, 'channel_1' );
我們的域名開始複製 _ 取消通道
從 My SQL DB 執行個RDS體在指定的通道上啟動複寫,並在指定的全域交易識別碼 (GTID) 停止複寫。
語法
CALL mysql.rds_start_replication_until_gtid_for_channel(
gtid
,channel_name
);
參數
-
gtid
-
之GTID後要停止複寫。
-
channel_name
-
多來源複本上複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_start_replication_until_gtid_for_channel
程序。此程序會在指定的通道上開始複寫,並將所有變更套用到指定GTID值。然後,它會停止通道上的複製。
當 gtid
參數指定了複本已經執行的交易時,複寫會立即停止。
在執行此程序之前,您必須slave_parallel_workers
將replica_parallel_workers
0
或的值設定為來停用多執行緒複製。
範例
下列範例會在上啟動複寫channel_1
,並複寫變更,直到變更到達為止。GTID 3E11FA47-71CA-11E1-9E33-C80AA9429562:23
call mysql.rds_start_replication_until_gtid_for_channel('3E11FA47-71CA-11E1-9E33-C80AA9429562:23','channel_1');
我們的域名 _ 停止複製 _ 通道
停止從指定通道上 My SQL DB 執行個體的複寫。
語法
CALL mysql.rds_stop_replication_for_channel(
channel_name
);
參數
-
channel_name
-
多來源複本上複製通道的名稱。RDS對於在特定主機和連接埠上執行的 My SQL DB 執行個體,每個複寫通道都會從單一來源接收二進位記錄事件。
使用須知
主要使用者必須執行 mysql.rds_stop_replication_for_channel
程序。
範例
下列範例會停止多來源複本channel_1
的複寫。
CALL mysql.rds_stop_replication_for_channel('channel_1');