テーブル定義を変更するために、pt-online-schema changeコマンドを中止しました。ここで、pt-online-schema changeを再度実行すると、次のエラーが発生します。
テーブル
<db name>
.<table name>
にはトリガーがあります。このツールは独自のトリガーを作成する必要があるため、テーブルにトリガーを設定することはできません。
Pt-online-schema changeを再度実行するにはどうすればよいですか?
MySQLを使用しています。
Percona Online Schema Changeが実行されると、新しいテーブルを古いテーブル(以前のテーブル定義を使用して)に対して行われた更新と同期させるトリガーが作成されます。
Pt-online-schema changeを再度実行する前に、これらのトリガーを削除する必要があります。
MySQLでは、show triggers like '<table name>'\G
と記述することでトリガーを見つけることができます。
そして、次のように入力して、これらのトリガーを削除できます
drop trigger <trigger name>;
テーブルの定義にpt-online-schema changeによって作成されたトリガー以外のトリガーがない場合にのみ、このレシピに従う必要があります。それらの名前は「pt_osc_」で始まります。