服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL 8主从复制配置详解,你学会了吗?

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

2023-05-07 01:07未知服务器之家 Mysql

1、配置主服务器 在主服务器上进行以下操作: (1)开启二进制日志 打开MySQL配置文件 my.cnf,在 [mysqld] 段下添加如下行: log - bin = mysql - bin log-bin 指定二进制日志文件的名称,mysql-bin是默认的二进制日志前缀,后面会跟一个数字

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中实现主从复制配置。需要注意的是,在配置过程中,需要保证主服务器和从服务器之间的网络畅通,同时需要保证主服务器和从服务器的系统时间一致。

延伸 · 阅读

精彩推荐