Не маю бажання з’ясовувати першопричину помилки Last_SQL_Errno: 1451, але завдякі ній – впала реплікація mysql
Для вирішення проблеми Last_SQL_Errno: 1451 потрібно було б пропустити помилку, для цього потрібно було виконати
1 |
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; |
Але при виконанні цієї команди зіткнувся з:
1 |
ERROR 1858 (HY000): sql_slave_skip_counter can not be set when the server is running with @@GLOBAL.GTID_MODE = ON. |
Для вирішення цього блоку проблем потрібно виконати по черзі наступні команди:
1 2 3 4 5 6 7 |
mysql> stop slave; mysql> set global gtid_mode=ON_PERMISSIVE; mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; mysql> START SLAVE; mysql> SHOW SLAVE STATUS\G; ### Після того, як реплікація наздожене, повертаємо назад mysql> set global gtid_mode=ON; |
І для особистого порозуміння:
1 2 3 4 |
OFF.: як нові, так і повторені транзакції мають бути анонімними. OFF_PERMISSIVE: нові транзакції є анонімними. Репліковані транзакції можуть бути анонімними або транзакціями GTID. ON_PERMISSIVE: нові транзакції є транзакціями GTID. Репліковані транзакції можуть бути анонімними або транзакціями GTID. ON: і нові, і репліковані транзакції мають бути транзакціями GTID. |