pt-online-schema-changeというPercona Toolkit同梱ツールを使えば、対象をロックせずにスキーマの変更が出来る。 Perl製のツールで、DBIとDBD::mysqlが必須となる他、DESCRIPTION1にある通り “this tool only works with MySQL 5.0.2 and newer.” である。 さて、MySQL 5.0.2以上なら動作するとあるが、実はMySQLのバージョンが古いと上手く動かないケースがある。 Unknown system variable ‘innodb_lock_wait_timeout’ MySQL 5.5未満でpt-online-schema-changeによるALTERを実行しようとすると、次のようなエラーが出てしまうことがある。 $ /usr/bin/pt-online-schema-change