Amazonrds-mysql-dba-tasks

提供:Dev Guides
移動先:案内検索

Amazon RDS-MySQL DBAタスク

他のすべてのデータベースと同様に、Amazon RDS MYSQLもデータベースを微調整し、定期的なヘルスチェックなどを行うためにDBAタスクを必要とします。 ただし、AWSプラットフォームではDBへのシェルアクセスが許可されていないため、MySQLのオンプレミスインストールと比較して実行できるDBAタスクの数は限られています。 以下は、AWS RDS MySQLデータベースで実行できる一般的なDBAタスクのリストとその説明です。

エラーログへのアクセス

MySQLエラーログ(mysql-error.log)ファイルは、Amazon RDSコンソールを使用するか、Amazon RDS CLIを使用してログを取得することにより表示できます。 mysql-error.logは5分ごとにフラッシュされ、その内容はmysql-error-running.logに追加されます。 その後、mysql-error-running.logファイルは1時間ごとにローテーションされ、過去24時間に生成された1時間ごとのファイルが保持されます。

RDSコンソールの使用

以下に、上記の2つのログファイルへのリンクがあります。

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というDBパラメーターを設定することで、クラッシュからの回復時間を改善できます。 以下に示すように、RDSコンソールでこのパラメーターを見つけることができます。

mysql_DBA_parameters.JPG

次に、以下に示すようにパラメーター名を検索できます。

mysql_innodb_file_param.JPG

Amazon RDSは、innodb_file_per_tableパラメーターのデフォルト値を1に設定します。これにより、個々のInnoDBテーブルを削除し、DBインスタンス用にそれらのテーブルで使用されているストレージを再利用できます。 これにより、クラッシュからの回復時間が短縮されます。

DBの停止と再起動

DBの停止、再起動、スナップショットの作成などは、次の図に示すようにRDSコンソールから簡単に実行できます。

mysql_db_stop_reboot.JPG