某一台vps最近隔一周左右就会被意外重启一次,悲催的是这台vps上正好搭着Mysql的主库,这台机器重启后会造成从库的数据库同步时候出现「Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position'」的错误。
这时候的状态是:在从库上执行SHOW SLAVE STATUS;
时候会出现Slave_IO_Running: No
的提示。并能找到
解决办法(适用于lnmp 0.9版本):
- 登录主库服务器
- 执行/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/var/mysql-bin.000023>test.txt
- less test.txt
- 找到最近的一条position id,参考下图:
- 从库服务器mysql执行STOP SLAVE;
- CHANGE MASTER TO MASTERHOST='主库ip',MASTERUSER='同步用户',MASTERPASSWORD='同步密码',MASTERLOGFILE='mysql-bin.000023',MASTERLOG_POS=130216;
- SLAVE START;
- 这时候再看SHOW SLAVE STATUS;就会看到已经可以正常同步了