Mysql 8主从复制配置图解

Posted ShenLiang2025

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 8主从复制配置图解相关的知识,希望对你有一定的参考价值。

                            mysql 8主从复制配置图解

声明

本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。本文主要介绍mysql的主从的配置。

:1 当前主服务器的操作系统是Win7、IP为192.168.0.100、数据库版本是Mysql 8.0.23、端口号3309。

2 当前从服务器的操作系统是CentOS 8、IP为192.168.111.128、数据库版本是Mysql 8.0.23、端口号3306。

准备

有两个版本一致(一样)的mysql数据库,可以是不同的操作系统环境,当前主服务是windows,从服务是linux。

配置主从

主服务创建同步的用户

-- 主服务上创建用于主从的用户
create user 'sync'@'%' IDENTIFIED WITH mysql_native_password BY 'sync1234';

主服务赋予复制权限

-- 赋予复制和访问从服务的权限
GRANT REPLICATION SLAVE ON *.* to 'sync'@'%';

主服务修改配置文件

[mysqld]下配置如下

[mysqld]
....
# mysqld下新增如下两个参数
#启用二进制日志
log-bin=mysql-bin
#服务器唯一ID
server-id=111

从服务修改配置文件

 [mysqld]下配置如下

[mysqld]
....
# mysqld下新增如下两个参数
#启用二进制日志
log-bin=mysql-bin
#服务器唯一ID
server-id=222

重启主从数据库

Step 1 主数据库Windows的重启服务,服务里右键重启服务。

Step 2 从数据库Linux的重启服务: 

#重启mysql服务
service mysqld restart

 查看主服务状态

-- 查看主服务的状态
show master status\\G;

配置从服务

--从服务器里配置访问主服务
change master to master_host='192.168.0.100',master_user='sync',master_password='sync1234',master_port=3309,master_log_file='mysql-bin.000001',master_log_pos=5068;

:1 这里加了master_port参数主要是针对主服务不是标准端口3306的情况。

       2 master_log_file、master_log_pos参数的值来自主服务的show master status。

 

启动从服务

-- 启动从服务器
start slave;

查看从服务状态

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

:这里Slave_IO_Running 和Slave_SQL_Running都得是Yes才行。

验证

主数据库修改

-- 主数据服务器里创建新数据库、表并插入数据
create database shen;
create table test_shen(id int);
insert into test_shen values(111);
select * from test_shen;

从数据库查验

-- 从服务器里查看主数据库新建的数据库和表以及插入的数据。
show databases;
use shen;
select * from test_shen;

 

 

以上是关于Mysql 8主从复制配置图解的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 8 group replication组复制集群单主配置图解

Mysql-8 配置主从复制(基于二进制日志)

MySQL 主从复制

docker 配置mysql8主从复制出现的问题

Redis主从复制(薪火相传演示示例)——图解版

Redis主从复制(一主二从演示示例)——图解版