MySQL从库故障恢复步骤
1、登录主库服务器:172.41.9.9 , 将涉及数据库打包备份
mysqldump --socket=/soft/mysql/mysql.sock -uroot -p'密码' --set-gtid-purged=OFF --single-transaction --master-data=1 --databases ll_12345 ll_12345_zsk ll_call ll_r1 mycat > /usr/local/ll_all.sql
2、将备份好的文件,通过局域网传输到从库服务器:172.41.9.11
scp /usr/local/ll_all.sql root@172.41.9.11:/usr/local/ll_all.sql
3、登录从库服务器:172.41.9.11 , 再登录其中一个从库的MySQL,以mysql80为例,mysql81、mysql82以此类推
/usr/local/mysql81/bin/mysql --socket=/usr/local/mysql80/data/mysql.sock -uroot -p
4、登录从库mysql之后,先reset已经出现故障的数据库
stop slave;
reset slave all;
5、删掉从库中所有故障数据库
drop database ll_12345;
drop database ll_12345_zsk;
drop database ll_call;
drop database ll_r1;
drop database mycat;
6、在从库重新创建刚才删掉的几个库
create database ll_12345;
create database ll_12345_zsk;
create database ll_call;
create database ll_r1;
create database mycat;
7、将备份过来的数据导入到从服务器
source /usr/local/ll_all.sql
8、查找备份文件的MASTER_LOG_FILE地址及MAST_LOG_POS位置
cat dbnamell_sql |grep "MASTER_LOG_FILE"
-- CHANGEMASTER TO MASTER_LOG_FILE='mysql-bin.000143',MASTER_LOG_POS=119223455;
9、执行同步语句,这里填写的binlog日志文件及偏移量位置为第8步中的MASTER_LOG_FILE地址MAST_LOG_POS的值
change master to master_host='172.41.9.9',master_user='root',master_password='hfzr&87613123',master_log_file='mysql-bin.000143',master_log_pos=119223455;
10、启动slave、查看状态
start slave;
show slave status\G
11、查看slave两个线程是否为YES状态,如果两个都是YES代表恢复成功
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
|