mysql 8.0主从配置 一主一从

  • 0、网络策略开通
  • 1、未配置主从前的主机和从机状态
  • 2、主机需要配置
  • 2.1、修改主机配置文件
  • 2.2、查看主机同步状态
  • 3、从机配置
  • 3.1、修改从机配置文件
  • 3.2、查看从机同步状态
  • 3.3、从机上mysql执行stop slave
  • 3.4、从机配置主机地址、端口、用户名等参数
  • 3.5、从机上mysql执行start slave
  • 3.6、查看从机同步状态
  • 4、主从复制测试
  • 4.1、主库插入1条数据
  • 4.2、 从库确认是否同步了这条数据


0、网络策略开通

从机需要访问主机的3306端口,在从机上执行
telnet 主机IP 3306 需要能通。否则会因为网络原因导致配置mysql主从集群失败。

1、未配置主从前的主机和从机状态

初始主机状态

show master status;

mysql基于主从的故障恢复_数据库

初始从机状态

show slave status;

mysql基于主从的故障恢复_数据库_02

2、主机需要配置

2.1、修改主机配置文件

vi /etc/my.cnf

文件最后添加2行内容

server-id=1
log-bin=/var/lib/mysql/mysql-bin

然后重启主机MySQL服务

systemctl restart mysqld.service

2.2、查看主机同步状态

show master status;

记录File、Position的值

mysql基于主从的故障恢复_mysql_03

3、从机配置

3.1、修改从机配置文件

vi /etc/my.cnf

在末尾加入一行:

server-id=2

然后重启从机MySQL服务

systemctl restart mysqld.service

3.2、查看从机同步状态

show slave status;

mysql基于主从的故障恢复_配置文件_04

3.3、从机上mysql执行stop slave

stop slave;

3.4、从机配置主机地址、端口、用户名等参数

change master to master_host='x.x.x.x',master_port=3306,master_user='root',master_password='yourMysqlPassWord', master_log_file='mysql-bin.000001',master_log_pos=69877;

其中记录File、Position的值 就是1.3中查询到的。

mysql基于主从的故障恢复_mysql基于主从的故障恢复_05

3.5、从机上mysql执行start slave

start slave

mysql基于主从的故障恢复_mysql基于主从的故障恢复_06

3.6、查看从机同步状态

从机上执行

show slave status \G;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
这2个参数都为yes表明同步状态正常,至此完成mysql 8.0 一主一从集群的搭建。

mysql基于主从的故障恢复_数据库_07

mysql基于主从的故障恢复_配置文件_08

4、主从复制测试

4.1、主库插入1条数据

在主库的banji表中插入1条数据。

mysql基于主从的故障恢复_mysql_09

show full processlist;

显示主库哪些线程正在运行,返回的结果是实时变化的;

mysql基于主从的故障恢复_配置文件_10

Master has sent all binlog to slave; waiting for more updates 表明本次同步信息已经发送完毕。

4.2、 从库确认是否同步了这条数据

查看从库的banji表中是否同步了主库插入的那条数据。

mysql基于主从的故障恢复_数据库_11

show full processlist;

显示从库哪些线程正在运行,返回的结果是实时变化的;

mysql基于主从的故障恢复_java_12

Slave has read all relay log; waiting for more updates 表明本次同步信息已经接收完毕。