skip slave sql error | mysql
slaveでsqlエラーが出ると
mysql > show slave status;
Slave_IO_Running: Yes Slave_SQL_Running: No -- Last_Errno: Last_Error: Error 'xxx'
となりました。
(原因はいろいろですが、単純な場合は、slave側でstart slaveの前に何かsqlを実行してそれが邪魔しているとか
飛ばしても良いエラーの場合は、
stop slave; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; start slave;
でスキップします。
====
データがある状態からstart slaveするときは。
master のポジションを確認
FLUSH TABLES WITH READ LOCK; // マスターの書き込みを停止。& dump & copy show master status; // file positionを確認 +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 2133 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) UNLOCK TABLES; // データのコピーとか終わったら。
slave側にdumpしたデータを入れる。
終わったら masterを設定する。ここでfile positionを利用。
CHANGE MASTER TO MASTER_HOST = 'master.xxx', MASTER_USER = 'tranode', MASTER_PASSWORD = 'xxx', MASTER_PORT = xxx, MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=2133 ; start slave; // show slave status;で確認