记录一次mysql从库恢复并开启主从复制的过程

由于公司的DBA离职,数据库的维护工作就落到了我身上。刚好遇到了从库因为数据原因导致无法主从复制,由于对mysql数据库不是很了解,在恢复过程中遇到了很多问题。记录下本次心酸的恢复过程。


本次过程大致如下:

  • 从主库找到备份文件,放到从库服务器。
  • 恢复数据到从库
  • 设置MySQL还原点
  • 启动从库开始主从复制

1. 连接到数据库
    mysql -h127.0.0.1 -uroot -p ;
 
 
  • 1
2. 切换数据库
    use yourdatabase;
 
 
  • 1
3. 停止主从复制
stop slave;
reset slave all;
 
 
  • 1
  • 2
4. 设置写入缓存大小。提高mysql导入速度。(和磁盘IO差不多就行)
set global bulk_insert_buffer_size=128*1024*1024;
 
 
  • 1
5. 恢复数据 (根据自己的备份方式恢复)
source /bakfile
 
 
  • 1
6. 找到mysql binlog 备份点 (在linux 下面执行,其他操作系统同理)
less  /bakfile 

找到 
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-190.000640', MASTER_LOG_POS=120;
获取时间binlog文件名和pos。
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
7. 修改从库同步位置
CHANGE MASTER TO 
MASTER_HOST='10.251.192.18', 
MASTER_USER='sync', 
MASTER_PASSWORD='DBect98773!_sync', 
MASTER_PORT=3306,
 MASTER_LOG_FILE='mysql-bin-190.000640',
 MASTER_LOG_POS=120;
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
8. 修改缓存。启动复制
set global bulk_insert_buffer_size=8*1024*1024;
start slave ;
 
 
  • 1
  • 2
9. 查看主从同步状态
show slave status \G;
 
 
  • 1
10. 如果有问题。查看mysql 错误日志。
11. 同步开始后可能会有少量的冲突出现 ,使用下面语句可以跳过一个事务并查看同步状态
stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 ;
start slave ;
show slave status \G;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值