Mysql8实现主从复制
环境
- 操作系统:CentOS 7
- Mysql版本:8.0
- MysqlServer_1:M1(主)
- MysqlServer_2:M2(从)
实现
- 修改M1配置文件:vim /etc/my.cnf (my.cnf路径位置根据自己实际路径更改)
shell
主服务器唯一ID |
- 修改M2配置文件:vim /etc/my.cnf (my.cnf路径位置根据自己实际路径更改)
shell
从服务器唯一ID |
依次重启主机M1、从机M2服务,注意是指重启Mysql服务不是机器重启
在主机上建立帐户slave
shell
create user 'slave'@'%' identified by '123456'; |
- 授权,这里只授予SLAVE权限,当然也可以授所有权限
shell
grant REPLICATION SLAVE on *.* to 'slave'@'%'; |
- 在M1主机MySQL里执行命令,查询master的状态
shell
show master status; |
记录下File和Position的值 注意:执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化
- 在M2从机上配置需要复制的主机,修改完毕之后再M2服务上执行该SQL
shell
CHANGE MASTER TO MASTER_HOST='主机的IP地址', |
- 启动从服务器复制功能
shell
start slave; |
- 查看从服务器状态
shell
show slave status\G; |
下面两个参数都是Yes,则说明主从配置成功! - Slave_IO_Running: Yes - Slave_SQL_Running: Yes 接下来就可以去M1主机新建库、建表等测试了,观察M2从机服务是否会跟着改变 如何停止从服务复制功能
shell
stop slave; |
如果需要重新配置,需要先停止,然后重置
shell
stop slave; |
重置
shell
reset master; |
注意事项
如果使用Mysql的主从复制,需要考虑的问题,比如如何持续保证数据一直问题,就比如一旦主从关系断开之后,再次建立主从,比如可以写脚本去监控Mysql服务等等
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IT者!