aws memo

AWS関連の備忘録 (※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。1年以上古いエントリは疑ってかかってください)

RDS: MySQLの管理者向けTips

RDSは、DBのroot権限をもらえないので、色々とRDS独自の代替手段(プロシージャ)が用意されている。

このあたりは要チェック。

Appendix: Common DBA Tasks for MySQL - Amazon Relational Database Service

めぼしいものをピックアップ

Slow Log ローテーション

mysql> CALL mysql.rds_rotate_slow_log;

セッションkill, クエリkill

mysql> mysql.rds_kill (thread-ID);
mysql> mysql.rds_kill_query (thread-ID);

レプリケーションスキップ

mysql> mysql.rds_skip_repl_error;

 他、MySQL5.1.62, 5.5.23には色々な情報を定期的に蓄積する Global Status History( GoSH)という機能があり、mysql.global_status_history テーブルに保存される。トラブルシュートに役立つことが期待されるが、デフォルトでは無効になっている。

GoSHを有効にする

mysql> CALL rds_enable_gsh_collector;

GoSHを無効にする

mysql> CALL rds_disable_gsh_collector;

GoSHの取得頻度を取得する

mysql> CALL rds_get_gsh_collector;

GoSHの取得頻度を設定する。デフォルトは5(分)

mysql> CALL rds_set_gsh_collector;

GoSHを即時で取得する

mysql> CALL rds_collect_global_status_history;

保存しているGoSH情報のローテーション間隔を設定する。デフォルトは7(日)

mysql> CALL rds_set_gsh_rotation;

保存しているGoSH情報のローテーションを有効にする

mysql> CALL rds_enable_gsh_rotation;

保存しているGoSH情報のローテーションを無効にする

mysql> CALL rds_disable_gsh_rotation;

保存しているGoSH情報を即時でローテーションする

mysql> CALL rds_drotate_global_status_history;