如何在mysql中配置主从复制_mysql主从复制安装配置

P粉602998670
发布: 2025-11-23 14:05:02
原创
973人浏览过
主从复制通过主库记录binlog、从库重放实现数据同步。步骤:1. 主库配置server-id、开启binlog并创建复制用户;2. 从库设置唯一server-id、启用中继日志并设为只读;3. 从库执行CHANGE MASTER指向主库,启动复制;4. 验证数据一致性。需确保网络通、权限对、配置准。

如何在mysql中配置主从复制_mysql主从复制安装配置

MySQL主从复制是一种常见的数据库架构,用于实现数据的高可用、读写分离和备份。配置主从复制的基本思路是:主库(Master)记录数据变更并生成二进制日志(binlog),从库(Slave)读取主库的binlog并重放,从而保持数据一致。以下是详细的安装与配置步骤。

1. 环境准备

确保主从服务器已安装MySQL,并能正常运行。假设:

  • 主库IP:192.168.1.100
  • 从库IP:192.168.1.101
  • MySQL版本:5.7 或 8.0(操作类似)

确认两台服务器之间网络互通,防火墙开放3306端口,且MySQL允许远程连接。

2. 配置主库(Master)

编辑主库的MySQL配置文件 my.cnf(通常位于 /etc/my.cnf 或 /etc/mysql/my.cnf):

[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
expire_logs_days = 7
max_binlog_size = 100M

说明:

  • server-id:唯一标识主库,不能与从库重复
  • log-bin:启用二进制日志并指定文件名前缀
  • binlog-format:推荐使用ROW格式,更安全

保存后重启MySQL服务:

systemctl restart mysqld

登录MySQL,创建用于复制的账号:

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

查看主库状态,获取当前binlog位置:

SHOW MASTER STATUS;

记下 File 和 Position 的值,后续从库配置需要使用。

3. 配置从库(Slave)

编辑从库的 my.cnf 文件:

[mysqld]
server-id = 2
relay-log = mysql-relay-bin
log-slave-updates = 1
read-only = 1

说明:

  • server-id:必须唯一,不能与主库相同
  • relay-log:指定中继日志名称
  • read-only:防止从库被误写

重启从库MySQL服务:

What-the-Diff
What-the-Diff

检查请求差异,自动生成更改描述

What-the-Diff 103
查看详情 What-the-Diff
systemctl restart mysqld

登录MySQL,执行CHANGE MASTER命令:

CHANGE MASTER TO
MASTER_HOST='192.168.1.100',
MASTER_USER='repl',
MASTER_PASSWORD='your_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;

注意:MASTER_LOG_FILE 和 MASTER_LOG_POS 使用主库 SHOW MASTER STATUS 输出的实际值。

启动复制:

START SLAVE;

查看复制状态:

SHOW SLAVE STATUS\G

重点关注以下两个字段:

  • Slave_IO_Running: Yes
  • Slave_SQL_Running: Yes

若均为Yes,表示复制正常运行。如果有错误,检查错误信息并排查网络、权限或配置问题。

4. 验证主从复制

在主库执行:

CREATE DATABASE IF NOT EXISTS test_replication;
USE test_replication;
CREATE TABLE t1 (id INT);
INSERT INTO t1 VALUES (1);

登录从库,执行:

SHOW DATABASES LIKE 'test_replication';
SELECT * FROM test_replication.t1;

如果能看到数据库和数据,说明复制成功。

基本上就这些。配置主从复制不复杂,但要注意 server-id 唯一性、网络连通性、用户权限和日志位置的准确性。一旦配置完成,建议定期监控复制延迟和状态,确保系统稳定。

以上就是如何在mysql中配置主从复制_mysql主从复制安装配置的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号