mysql主从数据恢复


场景:mysql是一主一从的业务架构,从库损坏,数据较少,现在来恢复从库数据,使主从数据一致
从库数据库数据和主库不一致,导致主从报错
1.在主库导出数据库数据(game库)
mysqldump -uroot -p'密码' --single-transaction --no-autocommit --master-data=2 -S /web/data/mysql-8/mysql.sock game > game20220214.sql
这里有一个关键的参数 "--master-data=2", 这个参数能帮助我们实现在线重建主从数据库
scp game20220214.sql root@"从库IP":/root/

2.登录从库数据库,重做主从
mysqlbinlog /root/game20220214.sql | head -30   查看master_log_file和master_log_pos信息
mysql -uroot -p'密码'  -S /web/data/mysql/mysql.sock

>show slave status \G;                          查看从库状态
>stop slave;                                    停止从库
>reset master;                                  重置从库binlog日志
>drop database game;                            删除从库game库(先备份)
>create database game;                          新建从库
>source /root/game20220214.sql;                 导入主库数据
>reset slave all;                               重置从库
>change master to master_host='主库ip', master_user='账号', master_password='密码', master_port=3307,master_log_file='master-bin.000014', master_log_pos=4094140;
建立主从
>start slave;                                    启动从库


双主结构恢复:
vip地址在哪一台数据库上,就用其数据去恢复另一台数据库的数据,方式有mysqldump和xbk,数据同步后在进行以下操作

在需要被恢复的mysql上执行:
mysql> reset slave all;     重置从库
Query OK, 0 rows affected (0.01 sec)

mysql> change master to master_host='vip所在的数据库IP', master_user='账号', master_password='密码', master_port=3306,master_log_file='', master_log_pos=;
Query OK, 0 rows affected, 2 warnings (0.02 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值