Amazon RDS - MySQL DBA 任務



與其他資料庫一樣,Amazon RDS MySQL 也需要 DBA 任務來微調資料庫並進行定期健康檢查等。但由於 AWS 平臺不允許對資料庫進行 shell 訪問,因此與 MySQL 的本地安裝相比,可以執行的 DBA 任務數量有限。以下是可以在 AWS RDS MySQL 資料庫中執行的一些常見 DBA 任務及其說明。

訪問錯誤日誌

可以使用 Amazon RDS 控制檯或使用 Amazon RDS CLI 檢索日誌來檢視 MySQL 錯誤日誌 (mysql-error.log) 檔案。mysql-error.log 每 5 分鐘重新整理一次,其內容將追加到 mysql-error-running.log。然後,mysql-error-running.log 檔案每小時輪換一次,並且保留過去 24 小時內生成的每小時檔案。

使用 RDS 控制檯

下面提供了上面描述的兩個日誌檔案的連結。

 mysql_rds_log1.JPG

使用 CLI

使用 CLI,日誌檔案會以 JSON 物件的形式釋出到 CloudWatch Logs。

aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}' \
    --apply-immediately
   

終止長時間執行的會話或查詢

有時 DBA 需要終止長時間執行的會話或查詢,這些會話或查詢無法快速給出結果。此 DBA 任務是首先找到查詢的程序 ID,然後使用 RDS 函式終止查詢來完成的。以下命令是示例。

# get the ID
Select * from INFORMATION_SCHEMA.PROCESSLIST
#Apply the Kill Function
CALL mysql.rds_kill(processID);

改進崩潰恢復時間

我們可以透過設定名為 innodb_file_per_table 的資料庫引數來改善崩潰後的恢復時間。我們可以在 RDS 控制檯中找到此引數,如下所示。

 mysql_DBA_parameters.JPG

接下來,我們可以搜尋引數名稱,如下所示。

mysql_innodb_file_param.JPG

Amazon RDS 將 innodb_file_per_table 引數的預設值設定為 1,這允許您刪除單個 InnoDB 表並回收資料庫例項使用的這些表佔用的儲存空間。這加快了崩潰後的恢復時間。

停止和重啟資料庫

停止資料庫、重新啟動資料庫或建立快照等操作可以透過 RDS 控制檯輕鬆完成,如下面的圖表所示。

mysql_db_stop_reboot.JPG
廣告

© . All rights reserved.