

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

# 記錄 Aurora MySQL 資料庫
<a name="aurora-mysql-troubleshooting-logging"></a>

Aurora MySQL 日誌提供有關資料庫活動和錯誤的基本資訊。透過啟用這些日誌，您可以識別和故障診斷問題、了解資料庫效能，以及稽核資料庫活動。建議您為所有 Aurora MySQL 資料庫執行個體啟用這些日誌，以確保資料庫的最佳效能和可用性。您可以啟用下列類型的記錄。每個日誌都包含可能導致發現資料庫處理影響的特定資訊。
+ 錯誤 – 只有在啟動、當機以及發生錯誤時，Aurora MySQL 才會寫入錯誤日誌。資料庫執行個體可在未寫入新項目到錯誤日誌的情況下持續執行數小時或數日。若您沒有看到最近的項目，這是因為伺服器未遇到需寫入日誌項目的錯誤。錯誤記錄預設為啟用。如需更多詳細資訊，請參閱 [Aurora MySQL 錯誤日誌](USER_LogAccess.MySQL.LogFileSize.md#USER_LogAccess.MySQL.Errorlog)。
+ 一般 – 一般日誌提供有關資料庫活動的詳細資訊，包括資料庫引擎執行的所有 SQL 陳述式。如需啟用一般記錄和設定記錄參數的詳細資訊，請參閱 MySQL 文件中的 [Aurora MySQL 慢查詢與一般查詢](USER_LogAccess.MySQL.LogFileSize.md#USER_LogAccess.MySQL.Generallog) 和[一般查詢日誌](https://dev.mysql.com/doc/refman/8.0/en/query-log.html)。
**注意**  
一般日誌可能會成長為非常大，並消耗您的儲存體。如需更多詳細資訊，請參閱 [Aurora MySQL 的日誌輪換與保留](USER_LogAccess.MySQL.LogFileSize.md#USER_LogAccess.AMS.LogFileSize.retention)。
+ 緩​慢查詢日誌 — 包含執行時間超過 [long\$1query\$1time](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_long_query_time) 秒數，且至少有 [min\$1examined\$1row\$1limit](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_min_examined_row_limit) 列需要檢查之 SQL 陳述式的緩​慢查詢日誌。您可以使用緩慢查詢日誌來尋找需要很長時間才能執行的查詢，因此是最佳化的候選項目。

  `long_query_time` 的預設值為 10 秒。我們建議您從高值開始，以識別最慢的查詢，然後著手進行微調。

  您也可以使用相關參數，例如 `log_slow_admin_statements` 和 `log_queries_not_using_indexes`。比較 `rows_examined` 與 `rows_returned`。如果 `rows_examined` 明顯大於 `rows_returned`，則這些查詢可能會遭到封鎖。

  在 Aurora MySQL 第 3 版中，您可以讓 `log_slow_extra` 取得更多詳細資訊。如需詳細資訊，請參閱 MySQL 文件中的[緩慢查詢日誌內容](https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html#slow-query-log-contents)。您也可以在工作階段層級修改 `long_query_time`，以互動方式偵錯查詢執行，而如果 `log_slow_extra` 全域啟用，這特別有用。

  如需啟用緩慢查詢記錄和設定記錄參數的詳細資訊，請參閱 MySQL 文件中的 [Aurora MySQL 慢查詢與一般查詢](USER_LogAccess.MySQL.LogFileSize.md#USER_LogAccess.MySQL.Generallog)和[緩慢查詢日誌](https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html)。
+ 稽核 – 稽核日誌會監控和記錄資料庫活動。Aurora MySQL 的稽核日誌稱為進階稽核。若要啟用進階稽核，請設定某些資料庫叢集參數。如需更多詳細資訊，請參閱 [使用進階稽核與 Amazon Aurora MySQL 資料庫叢集搭配](AuroraMySQL.Auditing.md)。
+ 二進位 – 二進位日誌 (binlog) 包含描述資料庫變更的事件，例如資料表建立操作和資料表資料的變更。它還包含可能已進行變更之陳述式的事件 (例如，符合沒有資料列的 [DELETE](https://dev.mysql.com/doc/refman/8.0/en/delete.html))，除非使用資料列型記錄。二進位日誌也包含有關每個陳述式使用該更新資料多久的資訊。

  在啟用二進位記錄的情況下執行伺服器會使效能稍微變慢。不過，二進位登入的好處可讓您設定複寫和還原操作，通常超過此輕微效能降低的缺點。
**注意**  
Aurora MySQL 不需要二進位記錄即可進行還原操作。

  如需啟用二進位記錄和設定二進位日誌格式的詳細資訊，請參閱 MySQL 文件中的 [為單一可用區資料庫設定 Aurora MySQL 二進位記錄](USER_LogAccess.MySQL.BinaryFormat.md) 和[二進位日誌](https://dev.mysql.com/doc/refman/8.0/en/binary-log.html)。

您可以將錯誤、一般、緩慢、查詢和稽核日誌發佈至 Amazon CloudWatch Logs。如需更多詳細資訊，請參閱 [將資料庫日誌發佈至 Amazon CloudWatch Logs](USER_LogAccess.Procedural.UploadtoCloudWatch.md)。

另一個用於摘要緩慢、一般和二進位日誌檔案的實用工具是 [pt-query-digest](https://docs.percona.com/percona-toolkit/pt-query-digest.html)。