我想要將 Amazon Aurora MySQL 相容的版本叢集複寫到外部 MySQL 相容的資料庫。或者,我想要建立跨區域複本。
簡短描述
根據預設,Aurora MySQL 相容的二進位日誌記錄關閉。若要檢查資料庫執行個體目前是否已關閉二進位日誌記錄,請執行下列命令:
mysql> show variables like 'log_bin';
+----------------+------------+
| Variable_name | Value |
+----------------+------------+
| log_bin | OFF |
+----------------+------------+
若要複寫到外部 MySQL 相容的資料庫,或建立跨區域複本,您必須為資料庫叢集開啟二進位日誌記錄。
注意: 為 Aurora 開啟二進位日誌記錄時,當機後的復原時間可能會更長。這是因為會在寫入器執行個體上執行完整的二進位日誌復原。當機復原的持續時間取決於二進位日誌中記錄的資料量,以 binlog_format 格式為基礎。持續時間也取決於您的工作負載。
解決方法
1. 開啟 Amazon Relational Database Service (Amazon RDS) 主控台。
2. 在導覽窗格中,選擇參數群組。
注意: 如果您是使用預設的 Aurora 資料庫叢集參數群組,則請建立新的資料庫叢集參數群組。
3. 為類型選擇資料庫叢集參數群組。
4. 選取資料庫自訂叢集參數群組,選擇參數群組動作,然後選擇編輯。
5. 變更 binlog_format 參數的值,例如變更為 ROW、Statement 或 MIXED。除非您需要特定的 binlog 格式,否則最佳做法是使用 MIXED。
6. 選擇儲存變更。
注意: 將二進位日誌記錄格式設定為 ROW 可能會產生非常大的二進位日誌檔。大型二進位日誌檔可減少資料庫叢集可用的儲存容量。它們也可以增加執行資料庫叢集還原的時間量。
另請注意,binlog_format 是一個靜態參數。您必須重新啟動叢集中的寫入器資料庫執行個體,變更才會生效。即使您已經擁有自訂資料庫叢集參數群組,也需要重新啟動。
如果您在步驟 2 中建立了新的資料庫叢集參數群組,則將參數群組附加至資料庫叢集:
1. 開啟 Amazon RDS 主控台。
2. 在導覽窗格的叢集下,選擇修改。
3. 將資料庫叢集參數群組更新為新的資料庫叢集參數群組,然後選擇立即套用。
4. 選擇繼續,然後選擇修改叢集。
注意: 變更與資料庫叢集關聯的資料庫叢集參數群組後,您必須重新啟動叢集中的主要資料庫執行個體以套用變更。
若要確認資料庫叢集現在已開啟二進位日誌記錄,請執行命令以再次驗證二進位日誌記錄:
mysql> show variables like 'log_bin';
+----------------+------------+
| Variable_name | Value |
+----------------+------------+
| log_bin | ON |
+----------------+------------+
mysql> show variables like 'binlog_format';
+----------------+------------+
| Variable_name | Value |
+----------------+------------+
| binlog_format | STATEMENT |
+----------------+------------+
相關資訊
管理 Amazon Aurora 資料庫叢集
如何識別哪些 Amazon RDS 資料庫參數位於自訂參數群組中,哪些參數位於預設參數群組中?