略過 RDS for MySQL 目前的複寫錯誤 - Amazon Relational Database Service

略過 RDS for MySQL 目前的複寫錯誤

您可以略過僅供讀取複本上的錯誤,前提是此錯誤導致僅供讀取複本停止回應,而且此錯誤不會影響資料的完整性。

注意

首先驗證是否可以安全地略過有問題的錯誤。在 MySQL 公用程式中,連線至僅供讀取複本並執行下列 MySQL 命令:

SHOW REPLICA STATUS\G

如需傳回值的相關資訊,請參閱 MySQL 文件

MySQL 以前的版本使用 SHOW SLAVE STATUS 而不是 SHOW REPLICA STATUS。如果您使用的 MySQL 是 8.0.23 之前的版本,請使用 SHOW SLAVE STATUS

您可採用以下方式,略過僅供讀取複本上的錯誤。

呼叫 mysql.rds_skip_repl_error 程序

Amazon RDS 提供一種預存程序,您可以呼叫此程序,以略過僅供讀取複本上的錯誤。首先連接到您的僅供讀取複本,然後發出適當的命令,如下所示。如需更多詳細資訊,請參閱 連線至您的 MySQL 資料庫執行個體

若要略過錯誤,請發出下列命令:

CALL mysql.rds_skip_repl_error;

如果您在來源資料庫執行個體上,或在未發現複寫錯誤的僅供讀取複本上執行此命令,則此命令沒有效用。

如需詳細資訊,例如支援 mysql.rds_skip_repl_error 的 MySQL 版本,請參閱 mysql.rds_skip_repl_error

重要

如果您嘗試呼叫 mysql.rds_skip_repl_error 並遇到下列錯誤:ERROR 1305 (42000): PROCEDURE mysql.rds_skip_repl_error does not exist,請將 MySQL 資料庫執行個體升級到最新次要版本,或 mysql.rds_skip_repl_error 列出的其中一個最低的次要版本。

設定 slave_skip_errors 參數

若要略過一或多個錯誤,您可以在僅供讀取複本上設定 slave_skip_errors 靜態參數。您可以設定此參數,以略過一或多個特定的複寫錯誤碼。目前,您只能針對 RDS for MySQL 5.7 資料庫執行個體設定此參數。在變更此參數的設定之後,請務必重新啟動您的資料庫執行個體,新設定才會生效。如需設定此參數的相關資訊,請參閱 MySQL 文件

建議您在個別的資料庫參數群組中設定此參數。您只能將此資料庫參數群組與需要略過錯誤的僅供讀取複本建立關聯。遵循此最佳實務可減少對其他資料庫執行個體和僅供讀取複本的潛在影響。

重要

針對此參數設定非預設值可能會導致複寫不一致。只有在您已用盡其他選項來解決問題,並確定對僅供讀取複本資料產生潛在影響時,才會將此參數設定為非預設值。