错误1:

slave I/O thread: connected to master 'rsync@211.154.145.66:3306',  replication started in log 'mysql-bin.000026' at position 764886983

140101 19:54:08 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position ( server_errno=1236)

 

解决思路:查看当前的二进制日志的第764886983行是不是真的从在错误

mysqlbinlog mysql-bin.000026 > 4.l.log(用show master status查看用的是哪个二进制文件)

vi 4.1.log

然后跳到764886983行,结果发现没有这一行 那就用master_log_pos=107指定二进制文件的起始行

解决方案:

mysql> change master to master_host='192.168.48.128',master_user='r_test',master_password='123456',master_log_file='mysql-bin.000011',master_log_pos=107;


ps:同时要确保slave中使用的二进制文件是 master中用show master status查看到的二进制日志文件

   默认情况 日志二进制问价是存在/usr/local/mysql/data中


错误2:

1062 | Error 'Duplicate entry 'adfadfadf' for key 1' on query. Default database: 'xx_db'. Query: 'INSERT INTO ...


假如只是一两条错误, 机器也很少, 哪倒是无所谓, 用下面的方法就可以了!

mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

mysql>slave start;


当你有很多繁忙的数据库, 维护总是让你很忙的时候. 假如在数据要求不是那么高的时候, 也有一个方法让你没有烦恼, 在slave的my.cnf里面写入.

slave-skip-errors = 1062

启动后它将会忽略所有类型为1062的错误.