由于从机不知道为什么配置了环境变量也不能在从机的mysql文件夹下敲mysql命令,所以以下操作都在Navicat下完成,如果使用mysql命令也是可以的
1.检查主从服务器之间是否互通,如果单一的主从复制不是主主复制,只需要主通从即可,(也可以用Navicat进行数据库连接进行测试,从机能连上主机就可以主从复制)
2.在主库新增一个权限用户grant replication slave on *.* to 'replicate'@'%' identified by '123456';
%指的是所有ip都有可以,安全起见一般要指定某个服务器ip(也可以用Navicat创建用户),创建用户需要重启mysql才有效
3.修改mysql配置文件,主机和从机都要修改
主机上:
server-id=101
log-bin=C:\Program Files\MySQL\MySQL Server 5.7\mysql-binbinlog-do-db=zlcloud2binlog-do-db=zlcloud1521从机上
server-id=126
replicate-do-db=zlcloud2replicate-do-db=zlcloud1521只是一些简单的配置,如果想要跟多可以百度
重启mysql
4.配置完成后在主库上运行语句SHOW MASTER STATUS
查看file和POSITION字段值,这个要用到
5.以上都已完成,我犯了一个比较二的错误,我用创建的用户账号在从机上去连接主库后,直接在这个连接下面运行
stop SLAVE
change master to
master_host='%',
master_user='replicate',
master_password='123456',
master_log_file='mysql-bin.000001',//这个是上面所提到的字段值
master_log_pos=107;//这个是上面所提到的字段值
START SLAVE
大家不要犯二,应该在从机的localhost本地数据库上运行这段话
6.运行后在查看从机状态SHOW SLAVE STATUS ,看见slave_io_running和slave_sql_running都是yes就好了