当前位置:   article > 正文

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

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

二,分别创建用户

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

创建用户Tom

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

授权

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

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

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

刷新权限

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

创建用户Jary

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

授权

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

修改一下认证

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

刷新权限

FLUSH PRIVILEGES;
  • 1

二、继续互为主从的连接

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

三、查看是否成功

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

show slave status\G;
  • 1

eg:
在这里插入图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号