MySQL 主从同步配置操作指南

顾言
顾言
发布时间:2026-10-14| 5人浏览过
原创

分享 MySQL 跨服务器实现数据自动同步(主从复制)的配置经验。主要涉及主库与从库的核心参数设置、用户权限分配、数据导入锁定处理以及同步链路的启动验证。

主服务器配置

首先需要对主数据库服务器进行修改。进入配置文件 /etc/my.cnf(Windows 环境下通常为 my.ini),在 [mysqld] 节中进行如下设置:

1. 开启二进制日志 (Binlog)

[mysqld]
# log-bin 是日志文件的前缀,可自定义名称(如服务器名)
# 若不带路径,默认写入 /var/lib/mysql 目录
log-bin=mysql-bin

# server-id 在同步体系中必须唯一
# 取值范围:1 到 2^32-1 之间的整数
server-id=1

2. 控制备份范围

根据需要决定是否过滤特定数据库:

  • binlog-do-db = 数据库名:仅备份指定数据库。
  • binlog-ignore-db = 数据库名:排除指定数据库。
  • 若不设置以上两项,将备份全部数据库。

3. InnoDB 稳定性优化

若使用 InnoDB 引擎,为防止数据丢失需确保以下设置(注意:innodb_flush_log_at_trx_commit=1 可能导致写性能下降,可根据情况调整为 2):

innodb_flush_log_at_trx_commit=1
sync_binlog=1

同时务必检查未设置 skip-networking,否则网络通信会被禁用导致无法同步。

修改完成后重启 MySQL 服务使配置生效。

主库账户授权

为了允许从库连接主库,需要创建一个专用的同步账户。登录主库 MySQL:

mysql -uroot –p

执行授权命令(假设主库 IP 为 192.168.1.1,从库 IP 为 192.168.1.2):

grant replication slave on *.* to 'beifen'@'192.168.1.2' identified by '密码';

flush privileges;

查看当前主库的二进制日志状态,记录 File 和 Position 的值,这将在从库配置时使用:

SHOW MASTER STATUS;

从服务器配置

编辑从库的配置文件 /etc/my.cnf,重点修改 server-id 以确保其唯一性(例如设置为 2)。通常不需要在从库开启 binlog。保存后重启 MySQL 服务。

数据处理与从库链路建立

如果主从库之间存在已有数据差异,需先进行数据迁移并确保一致性。

  1. 锁定主库:在主库执行 FLUSH TABLES WITH READ LOCK; 防止写入新数据。
  2. 导出数据:将主库数据导出。
  3. 导入数据:将数据导入到从库。
  4. 解锁主库:完成导入后回到主库执行 UNLOCK TABLES;。

随后在从库执行 change master to 命令指向主库信息:

CHANGE MASTER TO
  MASTER_HOST='192.168.1.1',
  MASTER_USER='beifen',
  MASTER_PASSWORD='密码',
  MASTER_LOG_FILE='mysql-bin.000001',  # 替换为主库 File 值
  MASTER_LOG_POS=107;                  # 替换为主库 Position 值

启动同步与状态检查

在从库中启动同步进程:

start slave;

最后验证同步状态。执行以下命令,若 Slave_IO_Running 和 Slave_SQL_Running 均显示为 Yes,则表明主从复制链路正常建立。

show slave status\G

以上就是 MySQL 主从同步配置的详细内容,更多关于 MySQL 数据库运维的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。