【运维心得】正确的校正mysql-slave及mysqldump

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

实践出真知有些细节记录下。

本文不涉及主备知识有需右转: https://blog.csdn.net/qq_26834611/article/details/121385550

mysql 正确的dump 命令:

0. 检查当前主库所在位置
ip addr 查看虚拟ip所在位置
1. 备机数据库dump备份:
mysqldump -uroot --dump-slave=2 --single-transaction --databases db1 db2 -p > 指定位置/xxx.sql
2. 主机数据库dump备份:
mysqldump -uroot --master-data=2 --single-transaction --databases db1 db2 -p > 指定位置/xxx.sql
3. 主机的dump数据 导入到 备机数据库
备机执行:
stop slave;
mysql -uroot -p < 指定位置/xxx.sql
4.
备机:
stop slave; (上一步执行了,则无需再次执行)
找到master对应的pos信息:(如果master host没有丢失仅处理pos位置即可) 从dump文件中找到binlog文件与pos
(dump时 --master-data=2 会以注释的形式记录到导出文件)
change master to master_log_file='binlog.000001',
master_log_pos=862;
start slave;
5. 验证:
show slave status\G
查看如下两者为YES,且无其他报错信息,即正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

着重解释下:

  1. 主库: dump时 --master-data=2 会以注释的形式记录到导出文件即使主机仍然在写但是我们已经知道

导出时确切的binlog文件以及位置了。导入到备机后可以直接执行。

如:

  1. 从库执行时使用--dump-slave=2 作用和上面一样的。只是角色为slave时对应的状态是slave status

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql

“【运维心得】正确的校正mysql-slave及mysqldump” 的相关文章