MySQL8.0两台数据库互为主从实验

环境:

1.Centos7,yum安装的MySQL8.0
2.准备好两台虚拟机,都关掉firewalld和selinux。
Server1
Server2
3.将两台虚拟机上安装好MySQL8.0,在实验之前确保两个数据库的数据是一致的,最好是两台干净的数据库

实验

一、在Server1和Server2上的相同操作

1.编辑/etc/my.cnf文件,在[mysqld]下面添加下面代码

注意:下面的server-id的值要唯一,两台机器的server-id要不一样!!!

server-id=2
log_bin=mysql-bin
binlog_format=ROW
gtid_mode=ON
enforce_gtid_consistency=ON
log_slave_updates=1
sync_binlog=1

二,分别创建用户

1.登录Server1的数据库创建一个用户并授权

创建用户Tom

CREATE USER 'Tom'@'%' IDENTIFIED BY 'Huge@666';

授权

GRANT REPLICATION SLAVE ON *.* TO 'Tom'@'%';

修改一下认证,8.0比5.7特殊

ALTER USER 'Tom'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'Huge@666';

刷新权限

FLUSH PRIVILEGES;
2.登录Server2的数据库创建一个用户并授权

创建用户Jary

CREATE USER 'Jary'@'%' IDENTIFIED BY 'Huge@666';

授权

GRANT REPLICATION SLAVE ON *.* TO 'Jary'@'%';

修改一下认证

ALTER USER 'Jary'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'Huge@666';

刷新权限

FLUSH PRIVILEGES;

二、继续互为主从的连接

1.在Server1上的MySQL中执行下面SQL语句
CHANGE MASTER TO  
MASTER_HOST='填Server2的ip',  
MASTER_USER='Jary',  
MASTER_PASSWORD='Jary的密码',  
MASTER_AUTO_POSITION=1; 
START SLAVE;
2.在Server2上的MySQL中执行下面SQL语句
CHANGE MASTER TO  
MASTER_HOST='填Server1的ip',  
MASTER_USER='Tom',  
MASTER_PASSWORD='Tom的密码',  
MASTER_AUTO_POSITION=1; 
START SLAVE;

三、查看是否成功

分别在两数据库中执行下面SQL,看 Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes,如果都为yes说明成功

show slave status\G;

eg:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值