MySQL主从复制是一种常用的数据库复制技术,用于在多个MySQL服务器之间实现数据同步。下面是MySQL配置主从复制的详细流程:
-
确保主服务器和从服务器上都已安装并正确配置了MySQL。
-
在主服务器上,编辑主配置文件(通常是my.cnf或my.ini),找到并修改以下参数:
- server-id:设置主服务器的唯一标识,一般为非零整数。
- log_bin:启用二进制日志功能,用于记录主服务器上的所有更改操作。
-
重启主服务器,使配置生效。
-
在主服务器上创建用于复制的专用账户,并为该账户授予复制权限。例如,执行以下SQL语句:
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES;
-
在主服务器上执行以下SQL语句,获取主服务器的当前状态信息:
SHOW MASTER STATUS;
记下结果中的File和Position值,稍后在从服务器配置中会用到。
-
在从服务器上,编辑从配置文件,找到并修改以下参数:
- server-id:设置从服务器的唯一标识,一般为非零整数。
- log_bin:启用二进制日志功能,用于记录从服务器上的所有更改操作。
- relay_log:启用中继日志功能,用于记录从主服务器接收到的二进制日志。
-
重启从服务器,使配置生效。
-
在从服务器上执行以下SQL语句,配置从服务器连接到主服务器:
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_Running和Slave_SQL_Running两个字段的值都为"YES",表示复制已成功启动。
MySQL主从复制的配置流程完成,主服务器上的数据更改将自动同步到从服务器上。可以通过在主服务器上执行更新操作来验证复制是否正常工作,然后在从服务器上查询数据以确认其是否同步。