MySQL主从没有同步有二种解决方案
方法一:忽略错误,继续同步
该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况
mysql> stop slave; #关闭从库
mysql> set global sql_slave_skip_counter =1; #表示跳过一步错误,后面的数字可变
mysql> start slave; #开启从库
方式二:重新做主从,完全同步
该方法适用于主从库数据相差较大,或者要求数据完全统一的情况
热备方式修复主从库
操作过程
1、先关闭从数据库
2、记录主库的log_file文件名和位置点
3、导出主库的数据库,拷贝到从库机器上
4、从库删除以前的老库,导进从主库拷贝过来的新库
5、changes主库的Log_file和位置点
6、开启从库
提示:主从库密码一致,请按照从上往下的步骤一步一步操作
主库机:192.168.1.1
从库机:192.168.1.2
从库操作
1、关闭从库同步
mysql> stop slave;
主库操作
1、记录主库的log_file文件名和位置点
mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 | 3260 | | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
2、导出主库的数据库,拷贝到从库机器上,从库删除以前的老库,导进从主库拷贝过来的新库
# mysqldump -uroot -p123456 -hlocalhost -B -C mysqldb --single-transaction > /opt/mysqldb .sql &
3、主库机器拷贝数据库到从库机器上
# scp /opt/mysqldb .sql root@192.168.1.2:/opt/
从库操作
1、删除旧库
mysql> drop database mysqldb;
2、change master的日志文件名和日志点
# mysqldump -uroot -p123456 mysqldb < /opt/mysqldb .sql &
mysql> change master to
master_host='192.168.1.1',
master_user='root',
master_port='3306',
master_password='123456',
master_log_file='mysqld-bin.000001',
master_log_pos=3260;
3、开启从库
mysql> start slave;
同步完成
【导库注意事项】
1、数据量大的时候要放后台进行导库
2、关闭binlog重启再导库
3、使用多线程备份恢复
MySQL多线程备份恢复参考博客
http://blog.uinion.com/?p=471
技术交流
QQ:1934844044