Mysql

是否可以獲取 AWS RDS MySQL 事務日誌?

  • August 31, 2022

我有 AWS RDS MySQL 實例,沒有一般查詢日誌。是否可以獲取所有事務日誌?我知道 MySQL 的 binlog 保留時間很短,但顯然,AWS RDS 保留所有事務以提供時間點恢復。那麼 - 是否/如何獲取此日誌?

時間點恢復也使用二進制日誌。要將它們用於 PITR,您必須將未過期的二進制日誌返回到最近的完整備份。

您可以在查詢客戶端中使用SHOW BINARY LOGS來查看目前未過期的二進制日誌。您可以使用命令行工具mysqlbinlog從遠端實例轉儲日誌(即,您可以在 EC2 實例或設置為 RDS 實例客戶端的另一台伺服器上執行它)。

MySQL 中的術語“事務日誌”通常是指InnoDB 重做日誌。這是一個不同的日誌。沒有辦法從遠端客戶端獲取它,也沒有任何工具可以將它用於 PITR。

自己獲取二進制日誌可能不是 AWS 針對 RDS 實例的 PITR 的解決方案。您應該查看他們擁有的有關備份解決方案的資訊:https ://aws.amazon.com/blogs/storage/point-in-time-recovery-and-continuous-backup-for-amazon-rds-with-aws-backup /

執行這個

SHOW VARIABLES LIKE '%expire_logs%';

然後看看 AWS 是否允許您更改其中任何一個。

這將使二進制日誌保留更長時間。

此外,查看 AWS 是否有不同的設置以允許更長的“PITR”(時間點恢復)。

由於您已配置保留 30 天的二進制日誌(並假設您可以訪問它們),因此命令行mysqlbinlog允許您讀取這些文件並 grep 獲取所需的數據。祝你好運。

引用自:https://dba.stackexchange.com/questions/316212