1、背景
- 已有主库正常运行,假设称为A。
- 已有从库(旧从库)正常运行,假设称为B,已搭建好正在运行的从库(旧从库)假设称为B。
- 希望搭建一个新的从库C,仍然从A进行数据同步。
2、前提
- 前提一:在新从库C上,先安装和部署好MySQL,保证其可以运行
- 前提二:已经有一主(A)一从(B)正在正常运行。
3、实施步骤
- 关闭旧从库B,关闭新从库C。
- 旧从库操作:将所有数据文件和日志文件(包括数据文件,如
ibdata*
、InnoDB事务日志文件ib_logfile*
、master.info文件、relay-log.info文件)都打包到新从库所在主机。如果从库的数据目录是单独的,比如在/home/mysql,且两个从库之间网络联通,则很简单,运行如下命令即可:
- 如下命令是在旧从库所在服务器B上运行。
- 假设新旧从库的数据目录都是/home/mysql
- 新从库所在服务器C的IP地址是:192.168.124.173
scp -r /home/mysql/ root@192.168.124.173:/home/
- 复制过去以后,登录新从库服务器C。
- 新从库操作:由于复制时使用的是root用户,因此要更改新从库的目录权限:
chown -r mysql /home/mysql
chgrp -r mysql /home/mysql
- 将旧从库的my.cnf复制到新从库的my.cnf目录下,并更改server-id,保证其不重复。
- 启动新从库和旧从库,完成搭建。
4、总结
- 已有从库的情况下,想搭建新的从库,只需要把旧从库的数据文件、日志文件、配置文件复制到新从库,修改器文件权限和server-id,启动复制,基本就完成了新从库的搭建。