Centos7 下 MySQL5.6 主从复制示例代码详解与分享

2025-01-15 04:23:02   小编

在Centos7系统环境中,搭建MySQL5.6主从复制是许多开发者和运维人员经常会面临的任务。本文将详细解析相关示例代码,并与大家分享经验。

我们要明确主从复制的基本原理。主服务器将数据库的变更记录到二进制日志中,从服务器通过读取主服务器的二进制日志并在本地重放这些变更,从而实现数据的同步。

主服务器配置

在主服务器上,我们需要对MySQL进行一系列配置。打开MySQL配置文件,一般路径为/etc/my.cnf。在配置文件中添加或修改以下内容:

server-id=1
log-bin=mysql-bin
binlog-do-db=需要同步的数据库名

server-id用于唯一标识服务器,这里设置为1。log-bin开启二进制日志功能,binlog-do-db指定需要同步的数据库。

配置完成后,重启MySQL服务:systemctl restart mysqld

接下来,我们要创建用于从服务器复制数据的用户。登录MySQL后,执行以下命令:

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

这将创建一个名为replication_user的用户,并赋予其复制权限。

最后,获取主服务器的状态信息:

SHOW MASTER STATUS;

记录下FilePosition的值,这两个值在从服务器配置时会用到。

从服务器配置

从服务器的配置同样要修改MySQL配置文件。打开/etc/my.cnf,添加或修改如下内容:

server-id=2

这里server-id设置为2,确保与主服务器不同。

重启MySQL服务后,登录MySQL执行配置命令:

CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='主服务器File值',
MASTER_LOG_POS=主服务器Position值;

完成上述配置后,启动从服务器复制:

START SLAVE;

通过SHOW SLAVE STATUS \G命令查看从服务器状态,确保Slave_IO_RunningSlave_SQL_Running都为Yes,且Seconds_Behind_Master为0,表示主从复制配置成功。

通过以上详细的示例代码解析,相信大家已经对Centos7下MySQL5.6主从复制有了清晰的认识,能够顺利搭建起可靠的数据同步环境。

TAGS: 示例代码 Centos7 主从复制 mysql5.6

欢迎使用万千站长工具!

Welcome to www.zzTool.com