记录一次MYSQL主从同步重置

一. 背景介绍

线上数据库从库挂掉,所以重新安装并重新同步

二. 主库备份

  • 登录主库

登录主库,输入以下命令并输入密码

$ mysql -u root -p 
  • 锁表

锁表后数据库不能写入数据,操作需谨慎。

$ FLUSH TABLES WITH READ LOCK;
  • 备份全部数据库

退出登录并导出全部的数据库,同时压缩一下便于传输。

$ mysqldump -u root -p --all-databases > bak.sql | gzip > bak.sql.gz
  • 查看主库Binlog文件和位置

登录主库并查看信息

$  mysql -u root -p 
$ show master status;

显示信息如下

+---------------+----------+--------------+------------------+-------------------+
| File          |  | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000024 | 11632560 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)
  • 主库解锁
$ UNLOCK TABLES;

三. 从库恢复

  • 传输备份文件并解压
gunzip bak.sql.gz
  • 恢复数据

重新安装从库,并恢复数据

$ mysql -u root -p < bak.sql
  • 登录从库并开启从库同步

主库IP是 198.168.0.2, 同步用户是zqyu_rpl, 密码是123456MASTER_LOG_FILEMASTER_LOG_POS 是主库中使用 show master status;查看到的信息。

$ CHANGE MASTER TO MASTER_HOST='198.168.0.2', MASTER_USER='zqyu_rpl', MASTER_PASSWORD='123456',MASTER_LOG_FILE='binlog.000024', MASTER_LOG_POS=11632560;
  • 开启从库同步
start slave;

使用下面命令查看从库同步状态

show slave status\G;

确认属性如下即可

Slave_IO_Running: Yes # 或者 Connecting
Slave_SQL_Running: Yes

  • 其它命令

重置从库同步的命令

$ stop slave; # 停止从库同步
$ reset slave; # 重置
$ start slave; # 开启

配置主从同步 MySQL8安装,配置主从复制 - (jianshu.com)

你可能感兴趣的:(记录一次MYSQL主从同步重置)