主从数据不一致,重做从库数据--mysqldump

目录

了解mysqldump

前提

主库操作

从库操作

主库服务器

从库操作


了解mysqldump

mysqldump由于是mysql自带的备份工具,所以也是最常用的mysql数据库的备份工具。支持基于InnoDB的热备份。但由于是逻辑备份,所以速度不是很快,适合备份数据量比较小的场景。

mysqldump完全备份+二进制日志 —>实现时间点恢复


1.温备:

在使用MyISAM引擎中,只能使用温备份,这时候要防止数据的写入,所以先加上读锁

这时候可以进入数据库手动加读锁。这样比较麻烦,在mysqldump工具中直接有一个加锁的选项

mysqldump --databases mydatabase --lock-all-tables --flush-logs> /tmp/backup-`date +%F-%H-%M`.sql

如果是针对某张表备份,只要在数据库名称后面加上表名称就行了

这里注意,要实现时间点的恢复,加上--flush-logs选项,在使用备份文件恢复后,然后再基于二进制日志进行时间点的恢复

时间点的恢复方法:

mysqlbinlog mysql-bin.000000x > /tmp/PointTime.sql

然后用mysql命令导入这个sql脚本就行了


2.热备: 如果使用的是InnoDB引擎,就不必进行对数据库加锁的操作,加一个选项既可以进行热备份:mysqldump --single-transaction --databases mydb --single-transaction  --flush-logs --master-data=1 > /tmp/backup-`date +%F-%H-%M`.sql

注意点 恢复的时刻关闭二进制日志 mysql>set sql_log_bin=0; 因为这是基于逻辑备份方式,在恢复日志时会执行sql语句插入数据,而恢复时候插入数据的日志没有意义。
 

前提

数据量小于10G,可以使用mysqldump;

数据量大于10G,使用xtrabackup或其他备份工具;

本次数据量5G左右,采用mysqldump-热备。

主库操作

mysql> show master status;

从库操作

mysql> show slave status\G 

主库服务器

在主服务器备份主库数据

mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --master-data=2 --all-databases > /root/backup.sql

--master-data=1参数是在备份文件中有 CHANGE MATER TO xxxxx命令,对备库有用
--single-transaction参数是mysqldump在全量数据导入是对锁的一些处理,都应该加上该参数

将备份的主库数据传输到从服务器
# scp /root/backup.sql 192.168.103.32:/root/

从库操作

停止同步

mysql> stop slave;
重置从库
mysql> reset slave all;
导入到从库
mysql> source /root/backup.sql;

查看主库binglog日志点位(大概前面30行左右),change语句的MASTER_LOG_FILE、MASTER_LOG_POS根据此文件来的
# more /root/backup.sql

查找当时备份的MASTER_LOG_FILE、MASTER_LOG_POS

例如:MASTER_LOG_FILE='mysql-bin.log',MASTER_LOG_POS='256'

配置主库信息
mysql> CHANGE MASTER TO MASTER_HOST='192.168.102.31',MASTER_USER='rep',MASTER_PASSWORD='PASSWORD',MASTER_LOG_FILE='mysql-bin.log',MASTER_LOG_POS=256;

开启同步
mysql> start slave;

mysql> show slave status\G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值