RDSを利用している場合でも、テーブルロック待機時間の変更をすることは可能で、設定の最大値は、通常のMySQLと同じく、1,073,741,824となります。
設定はSDK for PHPを利用します。
※東京リージョンでパラメーターグループはhogeとします。
require_once("./sdk.class.php"); $rds = new AmazonRDS(); $rds->set_region(AmazonRDS::REGION_APAC_NE1); $response = $rds->modify_db_parameter_group('hoge', array( array( "ParameterName" => "innodb_lock_wait_timeout", "ParameterValue" => "1073741824", "ApplyMethod" => "pending-reboot" ), )); var_dump($response); ?>
ApplyMethodの値が、pending-rebootとなっていますので、設定後RDSの再起動が必要となります。
RDS再起動完了後、接続を行い、下記を実行すれば変更が確認できます。
show variables like “innodb_lock_wait_timeout”;
mysql> show variables like "innodb_lock_wait_timeout"; +--------------------------+------------+ | Variable_name | Value | +--------------------------+------------+ | innodb_lock_wait_timeout | 1073741824 | +--------------------------+------------+ 1 row in set (0.00 sec)