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
方法一:忽略错误,继续同步
该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况
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
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- Android之获取手机上的图片和视频缩略图thumbnails
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 数据库链接字符串查询网站
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法