您的当前位置:首页>全部文章>文章详情
手把手教你在linux下搭建mysql多主多从
发表于:2021-12-16 14:12:10浏览:1496次TAG: #MySql #linux

需要四台服务器(虚拟机)并且安装mysql,不可以克隆mysql!
主1数据库:192.168.0.106
主2数据库:192.168.0.108
从1数据库:192.168.0.109
从2数据库:192.168.0.110

20200824022018565.png

主1

配置my.conf文件

601FC091-0296-4ee0-A96A-23688F9A65D2.png

重启服务

systemctl stop mysql

systemctl start mysql


建立帐户并授权 slave

创建一个专门提供从机远程访问使用的用户

登录进入mysql
mysql -u root -p

执行sql语句
注意: 这里做练习 用户和密码相对简单,生产环境注意密码强度!

07CB214E-C82D-4724-9BA9-DA24FBD73502.png

查看用户是否创建成功

2.png


查询master的状态

记录二进制文件名File和位置Position,后面配从库要用
执行sql:

2229A0.png

file:binlog日志的名字
Position :接入点 (从机从接入点开始复制)
Binlog_Do_DB :需要复制的数据库
Binlog_Ignore_DB :不需要复制的数据库


注意:从库配置好之前数据库接入点就不要进行任何操作了,避免接入点发生改变!!!

主一主二相互复制


登录进入mysql
mysql -u root -p


执行命令

1-1.png

1-2.png

启动从服务器复制功能

start slave;

如果报错:ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
执行:reset slave;
然后回到第2步。


查看从服务器状态

show slave status\G;


成功:
主1:

1-3.png

主2:1-4.png

从1

配置my.conf文件

1-1.png

配置需要复制的主机

登录进入mysql
mysql -u root -p

执行命令

1-2.png

1-3.png

启动从服务器复制功能

start slave;


如果报错:ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
执行:reset slave;
然后回到第2步。


查看从服务器状态

show slave status\G;

成功:

1-4.png

从2

配置my.conf文件

1-6.png


配置需要复制的主机

1-7.png


启动从服务器复制功能

start slave;

查看从服务器状态

show slave status\G;

成功:

1-8.png


测试

在两台任意一个主机上添加数据库,然后查看就可以了。