今回必要があり"READ COMMITTED"に変更する手順を調べました。
mysqlのクライアントから以下のコマンドを実行しても権限がないということで拒否されます。GLOBALでない場合は可能。
mysql>SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;RDSではデータベースの設定はパラメーターグループで管理されています。現在、パラメータグループはAWS Consoleから変更できないようなので、CLIを使って変更します。
また、デフォルトのパラメーターグループは変更できないので、あらかじめ新しいパラメータグループを作成し、変更したいインスタンスのパラメータグループを変更しておきます。
まず、RDS CLIインストールします。
Amazon RDS Command Line Toolkitをダウンロードします(今回は 1.8.002)。展開したフォルダを適当な場所に移動し、以下の環境変数を追加します。
- AWS_RDS_HOME : C:\RDSCli-1.8.002
- PATH : %PATH%;%AWS_RDS_HOME%\bin
認証情報は以下のいずれかの方法で指定します(証明書を使用することも可能)。
AWSAccessKeyId=<Write your AWS access ID> AWSSecretKey=<Write your AWS secret key>
rds-describe-db-instancesコマンドを実行して動作確認します。
リージョンは、--region オプションで指定しますが、環境変数AWS_REGIONで指定することも可能です。
tx_isolationを変更します。gourp1の部分がパラメータグループです。method=immediateを指定すると変更は再起動を待たずすぐに反映されます。
mysqlコマンドでtx_isolationが変更されていることを確認します。
- 環境変数AWS_CREDENTIAL_FILE でキーを記載したファイルを指定
- --aws-credential-file オプションでキーを記載したファイルを指定
- --I <ACCESS_KEY> --S <SECRET_KEY> のようにオプションで直接指定
AWSAccessKeyId=<Write your AWS access ID> AWSSecretKey=<Write your AWS secret key>
rds-describe-db-instancesコマンドを実行して動作確認します。
リージョンは、--region オプションで指定しますが、環境変数AWS_REGIONで指定することも可能です。
tx_isolationを変更します。gourp1の部分がパラメータグループです。method=immediateを指定すると変更は再起動を待たずすぐに反映されます。
C:\> rds-modify-db-parameter-group gourp1 --region ap-northeast-1 --parameters="name=tx_isolation, value=READ-COMMITTED, method=immediate" DBPARAMETERGROUP group1
mysqlコマンドでtx_isolationが変更されていることを確認します。
mysql> SELECT @@GLOBAL.tx_isolation, @@tx_isolation; +-----------------------+----------------+ | @@GLOBAL.tx_isolation | @@tx_isolation | +-----------------------+----------------+ | READ-COMMITTED | READ-COMMITTED | +-----------------------+----------------+ただし、変更の反映は少し時間(1分未満くらい?)がかかるようです。
0 件のコメント:
コメントを投稿