スレーブデータベース(MySQL 5.7.12)でのレプリケーションが突然停止しました。 SHOW SLAVE STATUS\G
を実行すると、次のエラーが表示されます。
Last_Errno: 1396
Last_Error: Error 'Operation CREATE USER failed for 'user'@'ip'' on query. Default database: ''. Query: 'CREATE USER 'user'@'ip' IDENTIFIED WITH 'mysql_native_password' AS '*password''
私は最近、マスターとスレーブの両方に2人の新しい読み取り専用ユーザーを作成したので、これが原因であると確信しています。
これはステータスでも確認できます。
Slave_IO_Running: Yes
Slave_SQL_Running: No
これを修正する方法に関する提案はありますか?
ありがとうございました。
TL; DR
STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;
今少し長いバージョン:
最初にスレーブで、次にマスターでユーザーを手動で作成した場合、マスターで実行されたCREATE USERコマンドはスレーブに複製されています。ユーザーがすでに存在しているため、ステートメントの後続の実行に失敗しました。 「これ」を修正するための私の提案: