mysql主从同步配置是按照网上的博文进行配置的,但是在同步数据这里遇到了一些错误。

首先是不能建立主从关系,无法从主库同步数据,几经周折才搞明白主从同步的关键。下面是我总结出来的操作顺序及体会:

1、在主库导出数据时,我用的是--all-database选项,导致导入数据库是告诉我无法锁定log表。其实就是默认数据库的日志表,说是mysql的一个bug,解决办法也比较简单,在导入报错的时候记下行数,然后再sql文件中清空掉相关的sql便可以顺利导入,我的sql文件中有两处,slow_log和general_log,清掉这两处便可以顺利导入;

2、在从库进行数据同步时报错,sql文件中记录的binlog偏移量pos值已经失效(我在mysqldump时加入了--master-data=2的参数),所以进行手工同步时又锁了一次主库,然后取偏移量,在从库change master to,start slave;完成之后再将主库解锁;(顺序千万不能变,手工同步时,必须锁定主库!!!)

3、同步之后好景不长,告诉我主键冲突,SLAVE_SQL_THREAD NO,万般无赖之下将该错误跳过(在my.cnf中[mysqld]下面添加slave-skip-errors=错误号,例如1602  1449 ),可以进行主从同步,但日志里面说binlog文件格式不安全,再改my.cnf [mysqld] 下添加 binlog_format=mixed,重启从库。没有报错了!!!貌似这个格式可以解决很多同步错误问题,所以将slave-skip-errors注释掉,再重启数据库。然后查看主从复制状态,一切看起来都很美好了!!!

第一次主从配置,总结的一些经验和大家分享,如果有哪些地方出纰漏的还请大侠指正!!!

参考链接: