MySQL 单表主从同步实现流程
目标
本文将指导您如何在 MySQL 数据库中实现单表的主从同步。
前提条件
在开始之前,请确保您已经具备以下条件:
- 安装并配置好 MySQL 数据库
- 在主数据库和从数据库上创建了相同的数据库和表结构
实现步骤
以下是实现 MySQL 单表主从同步的步骤:
步骤 | 描述 |
---|---|
1 | 配置主数据库 |
2 | 配置从数据库 |
3 | 启动主从同步 |
4 | 测试主从同步 |
步骤 1:配置主数据库
-
打开主数据库的配置文件
my.cnf
(通常位于/etc/mysql/
目录下)。 -
在配置文件中找到
[mysqld]
这一段落。 -
添加以下配置项:
log-bin=mysql-bin # 开启二进制日志 server-id=1 # 设置服务器ID
请根据自己的实际情况修改
server-id
的值,确保每个数据库服务器的ID唯一。 -
保存并关闭配置文件。
-
重启主数据库以使配置生效:
sudo service mysql restart
步骤 2:配置从数据库
-
打开从数据库的配置文件
my.cnf
。 -
在配置文件中找到
[mysqld]
这一段落。 -
添加以下配置项:
server-id=2 # 设置服务器ID,确保与主数据库不同
请根据自己的实际情况修改
server-id
的值,确保每个数据库服务器的ID唯一。 -
保存并关闭配置文件。
-
重启从数据库以使配置生效。
步骤 3:启动主从同步
-
登录到从数据库上的 MySQL 命令行界面。
-
运行以下命令:
CHANGE MASTER TO MASTER_HOST='<主数据库IP>', MASTER_USER='<主数据库用户名>', MASTER_PASSWORD='<主数据库密码>', MASTER_LOG_FILE='<主数据库二进制日志文件>', MASTER_LOG_POS=<主数据库二进制日志位置>;
请替换
<主数据库IP>
为主数据库的IP地址,<主数据库用户名>
和<主数据库密码>
分别为连接主数据库所需的用户名和密码。<主数据库二进制日志文件>
和<主数据库二进制日志位置>
分别为主数据库上正在写入的二进制日志文件和位置,可以通过以下命令查询:SHOW MASTER STATUS;
-
启动主从同步:
START SLAVE;
步骤 4:测试主从同步
-
在主数据库上进行增删改操作,例如插入一条新记录:
INSERT INTO <表名>(<列名1>, <列名2>, ...) VALUES (<值1>, <值2>, ...);
-
在从数据库上查询是否同步成功:
SELECT * FROM <表名>;
关系图
erDiagram
DATABASE 主数据库 {
主数据库IP (PK)
}
DATABASE 从数据库 {
从数据库IP (PK)
}
主数据库IP }--|> 从数据库IP
总结
通过按照以上步骤配置主从数据库,您将实现 MySQL 单表的主从同步。这样,当主数据库上发生变动时,从数据库也会同步更新,确保数据的一致性和可靠性。请记得根据实际情况修改配置项中的参数值,并在操作前备份重要数据,以防止意外情况的发生。