首先准备两台电脑,全部安装MySQL(我安的5.7),然后分别查看一下ip地址,我的两个ip分别是:
192.168.1.102(简称102)
192.168.1.119(简称119)
一、配置两个MySQL的my.ini如下:
102my.ini:
server-id=1
replicate-do-db=test
auto-increment-offset=1
auto-increment-increment=2
log-bin=mysql-bin
log-bin-trust-function-creators=1
119my.ini:
server-id=2
replicate-do-db=test
auto-increment-offset=2
auto-increment-increment=2
log-bin=mysql-bin
log-bin-trust-function-creators=1
replicate-do-db=要同步的数据库名
auto-increment-offset=自增列初始值
auto-increment-increment=自增列增量
log-bin=mysql-bin二进制日志
log-bin-trust-function-creators=1-------------默认情况下mysql会阻止主从同步的数据库function的创建,这会导致我们在导入sql文件时如果有创建function或者使用function的语句将会报错。
除了server-id外,直接加在my.ini最下方即可,server-id应该每个里面都是1,修改其中一个为2,如果没有或者被注掉了再和其他配置一起添加进去。
二、两个MySQL重启MySQL服务,cmd进入到mysql中(先后顺序无所谓)
三、互相授权
102中:
grant replication slave, replication client on *.* to 'cmy'@'192.168.1.119' identified by '123456'
flush privileges;
119中:
grant replication slave, replication client on *.* to 'cmy'@'192.168.1.102' identified by '123456'
flush privileges;
cmy是自定义的,随便写,123456就是你MySQL的密码。
四、查看FileSet和Position
分别执行
show master status;记住两个MySQL的FileSet和Position,显示如下
标黄的就是
五、停止slave
stop slave;
六、相互设置同步的日志节点
102:
change master to
master_host='192.168.1.119',
master_port=3306,//端口号改成自己的
master_user='cmy',
master_password='123456',
master_log_file='mysql-bin.000003',:
master_log_pos=1444;
119:
change master to
master_host='192.168.1.102',
master_port=3306,//端口号改成自己的
master_user='cmy',
master_password='123456',
master_log_file='mysql-bin.000003',:
master_log_pos=630;
七、启动slave
start slave;
八、查看一下是否成功
show slave status\G(注意,这个后面没有分号),两个MySQL执行后显示如下则配置成功:
圈中的两项都为Yes表示成功,有时会出现下面这种情况,我就出现了:
我是因为端口号写错导致的,每个人情况不同,如果出现错误,重新配置一下就好了,希望能够帮助到你。另外,高端潮鞋,本人二维码↓