MySQLのスレーブが止まってた。

MySQLのスレーブが止まってた。結構長期にわたって。

原因はDuplicate entryが大量発生したこと。


mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: master.l2tp.org
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.00006
Read_Master_Log_Pos: 579252295
Relay_Log_File: fillmore-relay-bin.00005
Relay_Log_Pos: 26096
Relay_Master_Log_File: mysql-bin.00006
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1062
Last_Error: Error 'Duplicate entry '4' for key 'PRIMARY'' on query. Default database: 'wordpress'. Query: 'INSERT INTO wp_posts (ID, post_date, post_date_gmt) VALUES (4, '2010-11-27 06:23:59', '2010-11-27 06:23:59')'
Skip_Counter: 0
Exec_Master_Log_Pos: 251471543
Relay_Log_Space: 1401587476
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1062
Last_SQL_Error: Error 'Duplicate entry '4' for key 'PRIMARY'' on query. Default database: 'wordpress'. Query: 'INSERT INTO wp_posts (ID, post_date, post_date_gmt) VALUES (4, '2010-11-27 06:23:59', '2010-11-27 06:23:59')'
Replicate_Ignore_Server_Ids:
Master_Server_Id: 84035
1 row in set (0.00 sec)

最初は手動でスキップしてたんだけど、面倒になってしまってやめてた。

で、先日見つけてたmaatkitを利用することに。

portsからさくっとインスコ


>sudo portinstall -c databases/maatkit

で、実行


>mk-slave-restart -u root-ppassword --error-number 1062 --verbose

超簡単にスキップしてくれた。

でもどうやら同期がとれるまではひたすら監視するみたいで、コンソールがまだ戻ってこない。

もうCtrl-cしてもいいのかな。

あと-pのオプションだけ単独で与えても、MySQLのようなエコーバックがオフでパスワード入力を求められない。

コメントを残す