准备2台服务器,并且在2台服务器上安装mysql
1.主机配置
vim /etc/my.cnf #主服务器唯一ID server-id=1 #启用二进制日志 log-bin=mysql-bin #设置需要复制的数据库 binlog-do-db=test_slave #设置logbin格式 默认 binlog_format=STATEMENT
- 从机配置
vim /etc/my.cnf #从服务器唯一ID server-id=2 #启用中继日志 relay-log=mysql-relay
3.主机、从机重启 MySQL 服务
service mysql restart
4.主机从机都关闭防火墙
systemctl stop firewalld.service
- 在主机上建立帐户并授权 slave
# 启动mysql 输入密码 cd /usr/local/mysql ./bin/mysql -u root -p # 执行 GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'root';
5.#查询master的状态
show master status;
记录下File和Position的值
执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化
6.从机启动mysql
cd /usr/local/mysql ./bin/mysql -u root -p
执行(如果搭过主从复制,执行 stop slave; reset master;如果无则忽略)
CHANGE MASTER TO MASTER_HOST='192.168.10.106', MASTER_USER='slave', MASTER_PASSWORD='root', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=438;
#启动从服务器复制功能
start slave; #查看从服务器状态 show slave statusG;
停止slave
stop slave;
失败,是以为我是直接复制的虚拟机,解决方法
https://blog.csdn.net/weixin_44285972/article/details/125449796?spm=1001.2014.3001.5502
#下面两个参数都是Yes,则说明主从配置成功!
然后进行数据库验证!



