两个mysql服务器,macbook(主)和windows(从)
配置macbook
1.关闭mysql
sudo /usr/local/mysql/support-files/mysql.server stop
2.添加配置sudo vim /etc/my.cnf (根据个人配置文件位置修改)
{
如果文件为只读
sudo chmod 777 /etc/my.cnf ---放开权限
sudo chmod 644 /etc/my.cnf ---修改完成后归还只读权限
}
#skip-networking
server-id = 1
#是否只读,1代表只读,0代表读写
read-only = 0
3.重启mysql
sudo /usr/local/mysql/support-files/mysql.server start
4.登录mysql,创建远程连接的账号,并赋予主从复制的权限
# 创建yuantest用户,并设置密码,%表示该用户可在任意主机连接该MySQL服务
create user 'yuantest'@'%' identified with mysql_native_password by 'xxxxxxxx';
# 为yuantest用户分配主从复制权限
grant replication slave on *.* to 'yuantest'@'%';
配置windows的mysql
1.修改my.ini文件 (根据个人的mysql位置)
#skip-networking
server-id = 2
#是否只读,1代表只读,0代表读写
read-only = 1
2.重启mysql
3.配置从数据库(连接主数据库)
我的主数据库版本(8.0.22) 版本超过8.0.22,语句有差别
MASTER_LOG_FILE 和 MASTER_LOG_POS在配置主数据库最后一步有显示(主数据库输入 show master status;)
change MASTER to MASTER_HOST='192.168.0.10',MASTER_USER='yuantest',MASTER_PASSWORD='yuanm201109..',MASTER_PORT=3305,MASTER_LOG_FILE='binlog.000019',MASTER_LOG_POS=667;
4.开启同步操作(在从数据库中输入)
#8.0.22之后的版本
start replica;
#8.0.22之前(含8.0.22)
start slave;
5.查看主从步状态
#8.0.22之后的版本
show replica status;
#8.0.22之前(含8.0.22)
show slave status;
如果红框内都为YES
测试
可以在主数据库新建数据库数据表,插入数据,查看从数据库是否同步。