您的位置:首页 > 数据库 > MySQL

13、MySQL数据库主从不同步解决方案

2016-06-05 18:32 537 查看
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
http://blog.uinion.com/?p=465

技术交流
QQ:1934844044
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息