首先准备2台mysql
安装mysql:https://blog.csdn.net/z13615480737/article/details/78906598 记得关闭防火墙(关闭防火墙)
安装centos 7:https://blog.csdn.net/babyxue/article/details/80970526
VM下载地址:https://blog.csdn.net/felix__h/article/details/82853501
centos 7镜像下载: https://pan.baidu.com/s/1fiurFNRTxjFF6VZIxP-9GA 提取码: t5tj
安装完mysql以后记得查看mysql的UUID是否一致(因为有的人是安装好一台后直接克隆的服务器,如果你是单独安装的请忽略),如果一致记得修改,具体操作如下
- 首先找到你的my.cnf文件,然后根据datadir记录的位置找到mysql文件。
- 查看mysql文件下的auto.cnf中的server-uuid是否一致
- 如果一致删除其中一个重新启动mysql即可
下面开始正式的教程:
- 首先在你的主的服务器中,修改my.cnf文件,增加(server_id=128 #serverid) (log-bin=mysql-bin#开启二进制文件)
- 然后在你的从的服务器中,修改my.cnf文件,增加(server_id=129 #serverid)(log-bin=mysql-bin#开启二进制文件 )(binlog_do-db=test #需要同步的数据库,多个数据库直接用“,”号分割)
- 判断是否配置成功 在mysql中使用SHOW VARIABLES LIKE 'server_id' 命令,查看是否查询出service_id
- 最后在从服务器中使用 CHANGE MASTER TO MASTER_HOST='主服务器IP地址',MASTER_USER='主数据库账号',MASTER_PASSWORD='主数据库密码',MASTER_LOG_FILE='日志文件', MASTER_LOG_POS=从哪一行开始;“可以在主的服务器中使用 SHOW MASTER STATUS; 命令查到”
在操作的过程中克能mysql会报一个1055的错误,只需要在my.cnf中添加sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' 即可,添加完后记得重新启动mysql