MySQL 8主从复制配置详解,你学会了吗?

数据库 MySQL
MySQL 8主从复制是实现高可用和负载均衡的重要方式之一。下面详细说明如何在MySQL 8中进行主从复制的配置。

1、配置主服务器

在主服务器上进行以下操作:

(1)开启二进制日志

打开MySQL配置文件 my.cnf,在 [mysqld] 段下添加如下行:

log-bin=mysql-bin

log-bin 指定二进制日志文件的名称,mysql-bin是默认的二进制日志前缀,后面会跟一个数字标识。如果不指定则使用默认名称。

(2)创建复制用户

创建用于从服务器复制数据的用户,比如repl。打开MySQL控制台,执行如下命令:

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

在创建用户时,可以指定用户的IP地址和密码。在授予权限时,需要授予REPLICATION SLAVE权限。

2、配置从服务器

在从服务器上进行以下操作:

(1)开启复制功能

打开MySQL配置文件 my.cnf,在 [mysqld] 段下添加如下行:

server-id=2
log-bin=mysql-bin

server-id 是唯一标识从服务器的ID,必须保证主服务器和从服务器的server-id不同。

(2)连接主服务器

在从服务器上使用CHANGE MASTER TO命令连接到主服务器,并设置主服务器的IP地址、端口号、用户名、密码、当前正在写入的二进制日志文件的名称和位置。例如:

CHANGE MASTER TO
MASTER_HOST='192.168.1.100',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=1541;

其中,MASTER_HOST、MASTER_PORT、MASTER_USER和MASTER_PASSWORD分别对应主服务器的IP地址、端口号、用户名和密码;MASTER_LOG_FILE和MASTER_LOG_POS分别对应主服务器当前正在写入的二进制日志文件的名称和位置。

(3)启动复制进程

执行START SLAVE命令启动从服务器的复制进程:

START SLAVE;

在启动复制进程之后,可以使用SHOW SLAVE STATUS命令查看当前复制状态:

SHOW SLAVE STATUS\G;

其中,Slave_IO_State和Slave_SQL_State分别表示复制进程的状态和SQL进程的状态;Seconds_Behind_Master表示从服务器距离主服务器的延迟时间,如果值为0,则表示主从复制已经正常工作。

通过以上步骤,就可以在MySQL 8中实现主从复制配置。需要注意的是,在配置过程中,需要保证主服务器和从服务器之间的网络畅通,同时需要保证主服务器和从服务器的系统时间一致。

责任编辑:姜华 来源: 今日头条
相关推荐

2022-12-06 07:53:33

MySQL索引B+树

2023-03-26 22:31:29

2021-06-08 07:48:27

MySQL主从配置

2022-07-13 08:16:49

RocketMQRPC日志

2022-04-26 08:41:54

JDK动态代理方法

2023-03-09 07:38:58

static关键字状态

2022-11-03 08:16:33

MySQL·窗口函数

2022-10-24 09:55:32

ESLintJavaScript

2021-01-20 10:18:48

MySQL服务器配置

2022-06-16 07:50:35

数据结构链表

2023-01-31 08:02:18

2021-07-29 10:39:50

MySQLMySQL5.7MySQL8

2020-04-14 16:26:22

MySQL线程同步

2023-01-10 08:43:15

定义DDD架构

2022-04-19 08:28:34

main函数

2022-05-06 09:00:56

CSS元素Flex

2022-09-29 08:32:14

查询语句OR

2022-10-09 09:30:33

CSS浏览器十六进制

2022-12-06 08:37:43

2023-01-29 08:08:34

并发库conc通用库
点赞
收藏

51CTO技术栈公众号