RDSでスロークエリログを取れるように設定したときの メモ
1. クレデンシャルファイルの作成
# vi /opt/aws/apitools/rds/cred.txt AWSAccessKeyId=アクセスキーID AWSSecretKey=シークレットキー # アクセスキーID と シークレットキーは下記から # https://portal.aws.amazon.com/gp/aws/securityCredentials
2. 設定
export AWS_RDS_HOME=/opt/aws/apitools/rds export AWS_CREDENTIAL_FILE=/opt/aws/apitools/rds/cred.txt export PATH=$PATH:/opt/aws/bin/ export EC2_HOME=/opt/aws/apitools/ec2 export JAVA_HOME=/usr/lib/jvm/jre export EC2_REGION=`ec2-metadata |\ sed -n 's/^local-hostname: ip-[0-9-]*\.\(.*\)\.compute\.internal/\1/p'` rds-create-db-parameter-group hoge-parameter-group \ -d "parameter group for hoge-parameter-group" -f MySQL5.5 rds-modify-db-parameter-group hoge-parameter-group \ <- 1秒以上かかったクエリを記録する --parameters="name=slow_query_log, value=ON, method=immediate" \ --parameters="name=long_query_time, value=1, method=immediate" rds-modify-db-instance hoge-stg-mysql01 \ --db-parameter-group-name=hoge-parameter-group # RDS の DB Instances の Parameter Group を確認して (pending-reboot) になっていたら # RDS 再起動 DB Parameter Group:Database parameter group to associate with this DB instance.hoge-parameter-group (pending-reboot)
3. 確認
$ mysql -u hogeID -phogePW \ -h hoge-stg-mysql01.aaaaaaaaa.ap-northeast-1.rds.amazonaws.com hogedb mysql> show global variables like 'slow_query_log'; mysql> show global variables like 'long_query_time'; mysql> select * from mysql.slow_log; <- スロークエリをみるSQL