前提:

        在搭建mysql8一主一从集群前,必须安装两台虚拟机(我这里是centos,ip分别为192.168.10.102和192.168.10.103),虚拟机中分别安装mysql8(安装教程:https://blog.csdn.net/z1171127310/category_11913835.html

1.修改主机(hadoop102)的配置文件

#配置mysql8的主从复制-----修改主机配置文件
#主服务器唯一ID 
server-id=1 
#启用二进制日志 
log-bin=mysql-bin
#设置需要复制的数据库 
binlog-do-db=mydb1                  
#设置logbin格式 
binlog_format=STATEMENT

         注意:此时主机中是没有mydb1数据库的。

2.修改从机(hadoop103)配置文件

#配置mysql8的主从复制------从机(Hadoop03)配置文件
##主服务器唯一ID 
server-id=2
#启用中继日志
relay-log=mysql-relay

3. 重启注主机(hadoop102)服务

systemctl restart mysqld
#查看mysql状态
systemctl status mysqld

4. 重启从机(hadoop103)服务

         注意:主机从机都需要关闭防火墙。

5.在主机上建立账户并且授权slave

        在主机Mysql里面执行授权命令

#在主机MySQL里执行授权命令 
CREATE USER 'slave2'@'%' IDENTIFIED BY '123123'; 
GRANT REPLICATION SLAVE ON *.* TO 'slave2'@'%'; 

#此语句必须执行。否则见下面。 
ALTER USER 'slave2'@'%' IDENTIFIED WITH mysql_native_password BY '123123'; 
flush privileges;
 
#查询master的状态 
show master status;

 6.在从机上配置需要复制的主机信息

#复制主机的命令 
CHANGE MASTER TO MASTER_HOST='192.168.10.102', 
MASTER_USER='slave2', 
MASTER_PASSWORD='123123',
MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=1137;
#上面参数mysql-bin.000001和1137是对应主机执行命令show master status;显示的信息

#启动从服务器复制功能 
start slave; 

#查看从服务器状态 
show slave status\G;

7.验证mysql8一主一从集群搭建成功。

主机新建库,新建表,插入数据,从机复制。

        进入主机的数据库中,执行命令。

#建库语句 
CREATE DATABASE mydb1; 

#建表语句 
CREATE TABLE mytbl(id INT,NAME VARCHAR(50)); 

#插入数据 
INSERT INTO mytbl VALUES(1,"zhang3");

         打开navicat查看刚才主机中新建的数据库以及表。

 使用客户端工具打开从机(hadoop103)的数据库,我们也可以查看到刚才在主机中新建的数据库,新建的表格以及刚才插入的数据。

8.停止从机(hadoop103)的复制功能

stop slave;

 9.重新配置主从

stop slave; 
reset master;

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐