在使用 MySQL Replication 不知道大家有沒有遇到過當你沒有指定 binlog-do-db 的話全部的資料庫都會進行覆寫,MySQL 也不例外,如果你執行了類似 create user 的動作,而 Slave 已經有了這個 user 的話就會造成當前的 SQL 指令持續失敗
像這樣的問題,是必須一開始就設定好,但如果不小心出現了這樣的問題,也不需要擔心,在 MySQL 可以使用 sql_slave_skip_counter 來解決問題
mysql> stop slave; mysql> SET GLOBAL sql_slave_skip_counter = 1; mysql> start slave;
上述指令的 SET GLOBAL sql_slave_skip_counter = 1; 代表的是 1 個 event
在 Innodb 中,一個 event 代表的是一組 sql 指令,並非一筆 sql
但是在 MyIsam 中,每一筆 sql 指令都代表一個 event,這是因為在 MyIsam 還未支援 event。