MySQL8 主从复制配置

淺唱寂寞╮ 提交于 2020-01-21 15:54:05

对于主从复制的原理我这里就不解释了,CSDN其他文章都有介绍,我这边就介绍同步的步骤。

话不多说,直接开干。

首先,我们还是要保证数据库版本的一致性。

1、主节(Master)点配置

首先找到Master的配置文件(my.ini文件)

找到后加入或者配置一下参数:

log-bin=mysql-bin
server-id=1

2、从节点(Slave)配置

首先找到Slave的配置文件(my.ini文件)

找到后加入或者配置一下参数:

server-id=2

3、授权操作的用户

注意root是主服务器的用户,而 192.168.0.2 指的是从数据库的服务器IP,意思就是让从服务器有访问的权限

mysql> CREATE USER 'root'@'192.168.0.1' IDENTIFIED WITH mysql_native_password BY 'admin';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.0.2';

我这边没有新建用户,权当测试用的,你们可以新建一个专门操作同步的用户。

刷新授权表信息

mysql> flush privileges;

4、获取主服务器当前binary log文件名和位置

5、在从(Slave)节点上设置主节点参数

mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1',  -- 主服务器IP
MASTER_USER='root',                       -- 主服务器用户
MASTER_PASSWORD='admin',                    -- 主服务器用户密码
MASTER_LOG_FILE='WIN-MOL6VAV4FEI-bin.000005',                -- 主服务器
MASTER_LOG_POS=3244;                         --  位置

6、查看(Slave)主从同步状态

mysql> show slave status;

这边我输了mysql> show slave status\G;这个报错,也不知道是为什么!如果有大神看到这个问题,还请评论告知,感谢!

7、开启主从同步

mysql> start slave;

8、再查看主从同步状态

mysql> show slave status;

查看状态时,可能会出现I/O任务启动失败的情况,Slave_IO_Runninng = NO。

这是因为在MySQL主从结构中,从机上的server_id和主机上的server_id不能相同,我们可以看一下主机上的server_id和从机上的server_id是否相同。

查看主从机的server_id,看看是否一样。

mysql> show variables like 'server_id'; 

如果一样,就修改从机的Server_id

mysql> set global server_id=2; #此处的数值和my.cnf里设置的一样就行 

9、重新开启同步并查看状态

mysql> start slave;
mysql> show slave status;

 

开启主从之后,如果状态如上图所示,那么说明主从信息就已经配置好了。下面你就可以测试,主从之间是否可以复制了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!