查看master(centos7)和slave(win10)的ip地址,并检测是否可以相互通信




到这里我们知道,master的ip为192.168.131.129,slave的ip为192.168.0.6,并且可以相互通信
查看防火墙状态

开放3306端口

配置log_bin和全局唯一的server-id,和slave区分开,不能配置成一样的(如果是my.cnf新添加配置,一定要重启MySQL服务)

即在master中创建一个账号,用于slave登录master读取binlog
虽然我们在Linux上查看的ip地址是192.168.131.129,但我们创建账户登录时不写这个ip,写的是192.168.131.1。因为我这里虚拟机用的是NAT模式,虚拟机(master)和物理机(slave)通信的时候,虚拟机先把数据发送到网关192.168.131.1(默认与VMnet8通信),192.168.131.1再转发到物理机,所以物理机接收到的是192.168.131.1的数据,故我们在master上为slave创建账户的时候,应该写192.168.131.1

如果给slave配置的不是网关192.168.131.1地址,错误日志(可在my.cnf中指定)中会有如下信息:

意思是从192.168.131.1的mslave用户权限不够,那是因为我们在master上配置的是允许从其他地址登录,并不是允许从192.168.131.1地址登录,这就导致权限不够。
由于master这边收到的就是来自192.168.131.1的请求,所以错误日志显示的是192.168.131.1
所以创建账户的命令应如下:

配置全局唯一的server-id

重启MySQL服务

这一步配置主要是给IO线程读取binlog使用

通过show slave status命令查看主从复制状态

连接connection错误,先考虑是否网络互通,ping一下
然后再检查从库里面的配置信息是否正确

如果都正确,还可以检查一下master的3306端口是否可以连接

然后重新赋予权限


在master中查看show master status一下binlog日志文件名以及position,然后用命令重新配置slave,比如:

一般我们不会做这样的操作,一般都是主从配置以后,slave从数据开始增量进行同步,先做数据的增量,然后做数据的增删改查
不会配置好主从复制后,一开始就删主库的东西,如果真的出现这样的问题,随时可以在从库 show slave status,来查看主从同步的状态,有什么错误,就相应解决
要么在stop slave,把position重新设置一下,start slave,即重新开启主从同步,从最新的位置,这个drop操作不需要在从库上同步
要么就是stop,跳过该个错误,然后start
