前提:
在搭建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;
更多推荐