实现两台电脑的MySQL同步
流程概述
在实现两台电脑的MySQL同步之前,我们需要确保两台电脑之间可以互相访问,且两台电脑上都已经安装并配置好MySQL数据库。同步的过程可以分为以下几个步骤:
- 配置主服务器
- 配置从服务器
- 启用二进制日志(binary logging)
- 配置主服务器的二进制日志复制
- 配置从服务器的主服务器连接
- 启动从服务器复制进程
接下来,我们将逐步说明每个步骤所需做的操作,并提供相应的代码。
1. 配置主服务器
在主服务器上,我们需要进行以下配置:
-
打开主服务器的配置文件(my.cnf或my.ini),找到并修改以下参数:
# 允许主服务器监听来自其他服务器的连接 bind-address = 0.0.0.0 # 启用二进制日志 log-bin = mysql-bin
-
重启主服务器,使配置生效。
2. 配置从服务器
在从服务器上,我们需要进行以下配置:
-
打开从服务器的配置文件,找到并修改以下参数:
# 允许从服务器监听来自主服务器的连接 bind-address = 0.0.0.0
-
重启从服务器,使配置生效。
3. 启用二进制日志
在主服务器上,我们需要启用二进制日志,以记录数据库的更改。
-
登录到主服务器的MySQL命令行客户端。
-
执行以下命令启用二进制日志:
mysql> SET GLOBAL log_bin = ON;
4. 配置主服务器的二进制日志复制
在主服务器上,我们需要配置二进制日志复制,以便从服务器可以获取并应用主服务器上的更改。
-
登录到主服务器的MySQL命令行客户端。
-
创建一个用于复制的MySQL用户,并授予复制权限。例如,创建一个名为
replication_user
的用户,密码为password123
:mysql> CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password123'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
-
查看主服务器的二进制日志文件名及其当前位置:
mysql> SHOW MASTER STATUS;
记下其中的
File
和Position
值,稍后需要在从服务器上使用。
5. 配置从服务器的主服务器连接
在从服务器上,我们需要配置连接到主服务器并复制其二进制日志。
-
登录到从服务器的MySQL命令行客户端。
-
执行以下命令配置主服务器的连接信息:
mysql> CHANGE MASTER TO MASTER_HOST = '主服务器的IP地址', MASTER_USER = 'replication_user', MASTER_PASSWORD = 'password123', MASTER_LOG_FILE = '主服务器的二进制日志文件名', MASTER_LOG_POS = 主服务器的二进制日志位置;
将上述命令中的参数替换为主服务器的实际IP地址、复制用户、密码以及主服务器的二进制日志文件名和位置。
-
启动从服务器的复制进程:
mysql> START SLAVE;
确保从服务器能够连接到主服务器并进行复制。
6. 启动从服务器复制进程
在从服务器上,我们需要启动复制进程以便从主服务器获取并应用二进制日志。
-
登录到从服务器的MySQL命令行客户端。
-
执行以下命令启动复制进程:
mysql> START SLAVE;
通过执行以下命令检查从服务器的复制状态,确保状态为
Slave_IO_Running: Yes
和Slave_SQL_Running: Yes
:mysql> SHOW SLAVE STATUS\G
如果状态为
No
,可以执行以下命令继续调试:mysql>