实现两台电脑的MySQL同步

流程概述

在实现两台电脑的MySQL同步之前,我们需要确保两台电脑之间可以互相访问,且两台电脑上都已经安装并配置好MySQL数据库。同步的过程可以分为以下几个步骤:

  1. 配置主服务器
  2. 配置从服务器
  3. 启用二进制日志(binary logging)
  4. 配置主服务器的二进制日志复制
  5. 配置从服务器的主服务器连接
  6. 启动从服务器复制进程

接下来,我们将逐步说明每个步骤所需做的操作,并提供相应的代码。

1. 配置主服务器

在主服务器上,我们需要进行以下配置:

  1. 打开主服务器的配置文件(my.cnf或my.ini),找到并修改以下参数:

    # 允许主服务器监听来自其他服务器的连接
    bind-address = 0.0.0.0
    
    # 启用二进制日志
    log-bin = mysql-bin
    
  2. 重启主服务器,使配置生效。

2. 配置从服务器

在从服务器上,我们需要进行以下配置:

  1. 打开从服务器的配置文件,找到并修改以下参数:

    # 允许从服务器监听来自主服务器的连接
    bind-address = 0.0.0.0
    
  2. 重启从服务器,使配置生效。

3. 启用二进制日志

在主服务器上,我们需要启用二进制日志,以记录数据库的更改。

  1. 登录到主服务器的MySQL命令行客户端。

  2. 执行以下命令启用二进制日志:

    mysql> SET GLOBAL log_bin = ON;
    

4. 配置主服务器的二进制日志复制

在主服务器上,我们需要配置二进制日志复制,以便从服务器可以获取并应用主服务器上的更改。

  1. 登录到主服务器的MySQL命令行客户端。

  2. 创建一个用于复制的MySQL用户,并授予复制权限。例如,创建一个名为replication_user的用户,密码为password123

    mysql> CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password123';
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
    
  3. 查看主服务器的二进制日志文件名及其当前位置:

    mysql> SHOW MASTER STATUS;
    

    记下其中的FilePosition值,稍后需要在从服务器上使用。

5. 配置从服务器的主服务器连接

在从服务器上,我们需要配置连接到主服务器并复制其二进制日志。

  1. 登录到从服务器的MySQL命令行客户端。

  2. 执行以下命令配置主服务器的连接信息:

    mysql> CHANGE MASTER TO
             MASTER_HOST = '主服务器的IP地址',
             MASTER_USER = 'replication_user',
             MASTER_PASSWORD = 'password123',
             MASTER_LOG_FILE = '主服务器的二进制日志文件名',
             MASTER_LOG_POS = 主服务器的二进制日志位置;
    

    将上述命令中的参数替换为主服务器的实际IP地址、复制用户、密码以及主服务器的二进制日志文件名和位置。

  3. 启动从服务器的复制进程:

    mysql> START SLAVE;
    

    确保从服务器能够连接到主服务器并进行复制。

6. 启动从服务器复制进程

在从服务器上,我们需要启动复制进程以便从主服务器获取并应用二进制日志。

  1. 登录到从服务器的MySQL命令行客户端。

  2. 执行以下命令启动复制进程:

    mysql> START SLAVE;
    

    通过执行以下命令检查从服务器的复制状态,确保状态为Slave_IO_Running: YesSlave_SQL_Running: Yes

    mysql> SHOW SLAVE STATUS\G
    

    如果状态为No,可以执行以下命令继续调试:

    mysql>