mysql 主动同步

2025-12-10 21:21:31

在 Linux 系统中,如果你想要实现 MySQL 主动同步(即主从同步),通常是指主数据库(Master)将数据变化同步到从数据库(Slave)。这在数据库高可用和数据备份中非常常见。

✅ 一、MySQL 主从同步的基本原理

  • 主数据库(Master):负责写操作(INSERT/UPDATE/DELETE)。
  • 从数据库(Slave):负责读操作(SELECT)。
  • 同步机制:通过二进制日志(Binary Log)实现数据的实时传输。

✅ 二、MySQL 主从同步的实现步骤

1. 主数据库配置

在主数据库中配置二进制日志(Binary Log)和同步用户。

mysql 主动同步

# 主数据库配置
echo "log-bin=mysql-bin" >> /etc/my.cnf
echo "server-id=1" >> /etc/my.cnf
echo "log-bin-index=mysql-bin.index" >> /etc/my.cnf

创建同步用户(允许从数据库连接):

mysql -u root -p
CREATE USER 'sync_user'@'slave_ip' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'sync_user'@'slave_ip';
FLUSH PRIVILEGES;

2. 从数据库配置

在从数据库中配置主库信息:

echo "server-id=2" >> /etc/my.cnf
echo "log-bin=mysql-bin" >> /etc/my.cnf
echo "replicate-do-db=your_database" >> /etc/my.cnf  # 仅同步指定数据库
echo "replicate-skip-table=your_table" >> /etc/my.cnf  # 仅同步指定表

启动复制:

mysql 主动同步

mysql -u root -p
CHANGE MASTER TO
  MASTER_HOST='master_ip',
  MASTER_USER='sync_user',
  MASTER_PASSWORD='password',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_FILE='mysql-bin.000002';

启动复制线程:

START SLAVE;

✅ 三、验证同步状态

mysql -u root -p
SHOW SLAVE STATUSG

检查输出中的 Slave_IO_RunningSlave_SQL_Running 是否为 YES

✅ 四、常用命令总结

命令 作用
SHOW SLAVE STATUSG 查看复制状态
CHANGE MASTER TO 设置复制配置
START SLAVE 启动复制线程
STOP SLAVE 停止复制线程
FLUSH PRIVILEGES 重载权限
REPLICATION SLAVE 启用复制功能

✅ 五、注意事项

  • 确保主从数据库的 server-id 不同。
  • 确保网络连通性(防火墙、端口开放)。
  • 使用 binlog_format=ROW(推荐)或 STATEMENT(旧版本)。
  • 使用 replicate-do-dbreplicate-skip-table 限制同步范围。

✅ 六、其他方式(可选)

如果你希望使用 MySQL Replication 的自动化工具(如 mysql-replicatept-slave),可以参考:

  • pt-slave:Percona Toolkit 的从库工具,支持更复杂的配置。
  • mysql-replicate:一个轻量级的复制工具。

✅ 七、总结

用途 命令
配置主从同步 CHANGE MASTER TO
启动复制 START SLAVE
查看状态 SHOW SLAVE STATUSG
配置主库 log-bin, server-id

如你有具体场景(如多主多从、主从切换、监控等),我也可以进一步帮你定制方案。欢迎继续提问!

相关推荐

Linux设备驱动开发详解
其他命令

如何在pe下打开linux

在 Windows 的 PE(Pre-Emptive Executive)环境下,通常无法直接运行 Linux 操作系统,因为 PE 是 Windows 的一种引导加载程序,主要用于启动 Windows 系统。不过,如果你是在 Window

2025-12-16
Linux设备驱动开发详解
其他命令

nva for mysql

你提到的“nva for mysql”可能是对 NVIDIA Virtualization Acceleration for MySQL 的误写或不准确表达。实际上,MySQL 本身并不支持 NVIDIA 的虚拟化加速功能(NVA),但你可

2025-12-16
Linux设备驱动开发详解
其他命令

linux如何修改网口ip

在 Linux 系统中,修改网口(网络接口)的 IP 地址可以通过以下几种常用方法实现:语法:ifconfig <interface> <new_ip> netmask <new_netmask> <gateway>示例:ifconfig

2025-12-16
Linux设备驱动开发详解
其他命令

mysql 地理gis

您提到的“MySQL 地理GIS”通常指的是将地理空间数据存储和管理在 MySQL 数据库中,常用于地理信息系统(GIS)的开发和应用。以下是与 MySQL 和 GIS 相关的一些常见命令和脚本,以及相关解释:MySQL 8.0 引入了 G

2025-12-16
Linux设备驱动开发详解
其他命令

如何进行端口加固linux

在 Linux 系统中,端口加固(Port Hardening)是保障系统安全的重要措施之一。以下是一些常见的端口加固方法和 Linux 命令,用于增强系统对网络端口的防护:1. 关闭不必要的端口使用 netstat 或 ss 查看监听端口

2025-12-16
Linux设备驱动开发详解
其他命令

储存函数mysql

您提到的“储存函数mysql”可能是指在MySQL数据库中创建或使用MySQL存储函数。以下是一些常见的MySQL存储函数相关命令和操作,适用于大多数Linux发行版:1. 使用 CREATE FUNCTION 命令CREATE FUNCT

2025-12-16
Linux设备驱动开发详解
其他命令

如何让linux只有只读权限

在 Linux 中,如果你希望一个文件或目录只有 只读权限,可以使用 chmod 命令来设置权限。以下是几种常用方法:chmod 444 文件名444 表示文件的权限为:r--r--r--(只有读权限)。这个命令会为指定的文件设置 只读权限

2025-12-16
Linux设备驱动开发详解
其他命令

xshell mysql命令

你提到的“xshell mysql命令”可能有几种不同的含义,以下是几种常见情况的解释和建议:Xshell 是一个常用的终端仿真器,可以用来连接 MySQL 服务器。以下是使用 Xshell 连接 MySQL 的基本步骤:步骤:打开 Xsh

2025-12-16