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中实现主从复制配置。需要注意的是,在配置过程中,需要保证主服务器和从服务器之间的网络畅通,同时需要保证主服务器和从服务器的系统时间一致。
©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经