> 文章列表 > 恢复调度平台mysql主从同步

恢复调度平台mysql主从同步

恢复调度平台mysql主从同步

修复问题

调度平台两台MySQL从节点存在Slave_SQL_Running异常,需要恢复。
恢复调度平台mysql主从同步

恢复调度平台mysql主从同步

部署步骤

一、先停止调度平台core服务与web服务,否则无法正常锁表

1.1停止调度平台core服务

2.1停止web服务

3.确认MySQL所有执行线程是否都已经停止
show processlist;
如果没有都停止可以酌情kill

二、主节点mysql锁表,备份数据

先进入主库,进行锁表,防止数据写入
使用命令:
flush tables with read lock;

退出mysql,在主服务器执行:
mysqldump -h 主节点ip -P端口号 -uroot -p密码 --all-databases > mysql.bak.sql

将文件通过scp传给从服务器的/tmp目录,知道什么用户密码就用什么用户
scp mysql.bak.sql root@从库ip1:/tmp/
scp mysql.bak.sql root@从库ip2:/tmp/

然后到从库执行mysql命令,导入数据
source /tmp/mysql.bak.sql
(需要一定时间,同步完后会正常退出,否则mysql可能存在执行线程,通过show processlist确认)

三、MySQL创建主从同步用户

同步完成后,开启主从模式(建议主从均创建copy用户)

①主从执行创建copy用户命令:
CREATE USER 'copy'@'%' IDENTIFIED BY '密码';
grant all privileges on *.* to 'copy'@'%' identified by 密码';

②主服务器执行:
grant replication slave on *.* to 'copy'@'主服务器ip' identified by '密码';

flush privileges;

四、MySQL从节点更新同步参数

记住如下结果,从服务器用得到:
show master status\\G

*************************** 1. row ***************************
File: mysql-bin.000003
Position: 52552129
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:

从服务器均执行:

stop slave;

Change master to master_host='主服务器ip',\\
master_user='copy',master_password='密码',\\
master_log_file='主服务器结果1',\\
master_log_pos=主服务器结果2,\\
master_port=18444;

start slave;

show slave status\\G 查看:两个slave_running均为yes即成功

五、解锁MySQL、重启调度平台服务

所有从服务器slave成功后,回到主服务器,登录mysql
unlock tables;

确认是否有锁表线程
·show processlist·
1.主从同步完成后恢复core服务core01 WFT start

2.主从同步完成后恢复web服务