文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  複製重試與逾時

19.5.1.32 複製重試與逾時

系統變數 replica_transaction_retries 的全域值設定單執行緒或多執行緒副本上應用程式執行緒在停止之前自動重試失敗交易的最大次數。當 SQL 執行緒因 InnoDB 死鎖而無法執行交易,或者當交易的執行時間超過 InnoDB innodb_lock_wait_timeout 值時,會自動重試交易。如果交易有非暫時性錯誤導致無法成功,則不會重試。

replica_transaction_retries 的預設值為 10,表示當一個交易遇到看似暫時性的錯誤而失敗時,會重試 10 次,之後應用程式執行緒才會停止。將此變數設定為 0 會停用交易的自動重試。在多執行緒複本上,指定的交易重試次數可能會在所有通道的所有應用程式執行緒上發生。效能結構描述表 replication_applier_statusCOUNT_TRANSACTIONS_RETRIES 欄位會顯示每個複製通道上發生的交易重試總次數。

重試交易的過程可能會導致複本或群組複製群組成員上的延遲,而這些複本或成員可以設定為單執行緒或多執行緒複本。效能結構描述表 replication_applier_status_by_worker 顯示單執行緒或多執行緒複本上,由應用程式執行緒執行交易重試的詳細資訊。此資料包含時間戳記,顯示應用程式執行緒從開始到結束套用上一個交易所需的時間(以及目前正在進行的交易何時開始),以及此時間與原始來源和直接來源上提交的時間之間的時間差。此資料還顯示上一個交易和目前正在進行的交易的重試次數,並讓您能夠識別導致交易重試的暫時性錯誤。您可以使用此資訊來判斷交易重試是否是複製延遲的原因,並調查導致重試的失敗根本原因。