MySQL主从复制2台数据库已经存在,因为差异太大的原因,所以需要将主库的数据文件备份在从库进行恢复,重新设置主从复制的关系。
在开始之前我们需要有主库下面的文件
1.主库MySQL数据目录的备份压缩文件 20231105013714.tar.gz
2.备份时主库bin log日志文件的位置,可以通过SHOW MASTER STATUS;查看
下面的操作都在从库进行
- =========== 下面是恢复备份数据文件 =============
-
- # 停止MySQL
-
- systemctl stop mysql
-
- 备份当前数据目录
-
- mv mysql/ mysql_20231105
-
- # 解压文件
-
- tar -zxvf 20231105013714.tar.gz
-
- # 复制解压后的数据目录到当前目录(注意权限问题)
-
- mv mysql/ /database/mysql/
-
- # 删除数据目录 uid 文件
-
- mv /database/mysql/auto.cnf /database/mysql/auto.cnf-20230922
-
- # 重新启动
-
- systemctl satrt mysql
-
-
- =========== 下面是恢复主从关系 =============
-
- # 连接数据库
-
- mysql -uroot -pAFJQvNQo8GM1!
-
- # 配置同步,注意 master_log_file 和 master_log_pos 的值要与Master查询的一致
-
- change master to master_host='192.168.31.212',master_user='slaveuser',master_password='123456',master_log_file='mysql-bin.000005',master_log_pos=310717705;
-
- # 启动同步,如有报错执行 reset slave;
-
- start slave;
-
- # 查看 slave 状态
-
- show slave status\G;