Idiotically I rebooted a machine that is used as a MySQL slave without running STOP SLAVE
, FLUSH TABLES
first.
I had thought MySQL automatically handles all of this during a machine reboot, but apparently it doesn't, at least not in the configuration I was using, because the SLAVE doesn't start back up.
mysqld
does start but there is an error message in the logs indicating the slave portion stops due to duplicate primary key issues. Meaning it is trying to insert data that has already been added.
Here are the errors generated in the mysql log
120104 11:07:54 [Warning] Slave: Duplicate entry '94459' for key 'PRIMARY' Error_code: 1062
120104 11:07:54 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql1-bin.000362' position 3384732
How do I determine where in the master binary log the process needs to start from to run a CHANGE MASTER
statement? I know I could potentially, skip log entries using the sql_slave_skip_counter
but without knowing how many to skip I would need to go one by one, and that could take all day.