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

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

2017-02-04 14:50 766 查看
由于公司的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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql