linux上mysql从库故障恢复步骤(删除数据重新同步)

27 篇文章 1 订阅
6 篇文章 0 订阅

一、主库备份

1、备份主数据库数据

mysqldump -hip -uusername -ppassword --single-transaction --master-data=1 --databases dbname > dbname.sql

备注:

--single-transaction 启用一个事务来进行备份操作,备份过程中不会对数据库进行锁操作
--master-data=1 备份必须加上此参数。当这个参数的值为1的时候,mysqldump出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,在slave上导入数据时就会执行这个语句,salve就会根据指定这个文件位置从master端复制binlog

 

二、从库恢复

1、查看slave状态

MySQL [table]> show slave status \G ;

2、停止slave状态,清除从库主从信息

MySQL [table]> stop slave; (停止从库)
MySQL [table]> reset slave all; (取消从库和主从的关系)

3、将从库已同步主库数据库删除

MySQL [table]> DROP DATABASE DBNAME;

4、登录从数据库

MySQL [table]> mysql -hip -uusername -ppasswd -Pport

5、将备份文件导入到从服务器
将备份过来的数据导入到从服务器

MySQL [table] > CREATE DATABASE DBNAME;
MySQL [table] >source /dbname.sql ;

导入之后查看数据是否导入成功

6、查看主服务器备份数据MASTER_LOG_FILE地址及MAST_LOG_POS位置

cat dbname.sql |grep "MASTER_LOG_FILE"

-- CHANGEMASTER TO MASTER_LOG_FILE='mysql-bin.000015', MASTER_LOG_POS=7334223423;

7、执行同步语句,这里填写的binlog日志文件及偏移量位置为第6步中的MASTER_LOG_FILE地址MAST_LOG_POS的值

CHANGE MASTER TO MASTER_HOST='192.168.1.1',MASTER_USER='rep',MASTER_PASSWORD='slavepass',MASTER_LOG_FILE='mysql-bin.000015',MASTER_LOG_POS=7334223423;

8、启动slave

MySQL [table] > start slave;

9、查看slave状态

MySQL[table]> show slave status \G ;

查看slave两个线程是否为YES状态

Slave_IO_Running:Yes
Slave_SQL_Running:Yes

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值