主从复制配置教程

1. 整体流程

下面是配置MySQL主从复制的整体流程:

journey
    title 主从复制配置流程
    section 配置主服务器
        开启二进制日志:SHOW MASTER STATUS;
        记录File和Position信息: mysql-bin.000001, 107
        创建复制用户:CREATE USER 'repl'@'slave_ip' IDENTIFIED BY 'password';
        给予复制用户权限:GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slave_ip';
        重启MySQL服务
    section 配置从服务器
        检查主从状态:SHOW SLAVE STATUS;
        停止复制:STOP SLAVE;
        配置主从连接信息:CHANGE MASTER TO
            MASTER_HOST='master_ip',
            MASTER_USER='repl',
            MASTER_PASSWORD='password',
            MASTER_LOG_FILE='mysql-bin.000001',
            MASTER_LOG_POS=107;
        启动复制:START SLAVE;

2. 具体操作步骤

配置主服务器

  1. 开启二进制日志,记录File和Position信息:
SHOW MASTER STATUS;

这条命令会显示当前主服务器上二进制日志的文件名和位置,记下这两个值备用。

  1. 创建复制用户:
CREATE USER 'repl'@'slave_ip' IDENTIFIED BY 'password';

创建一个用于复制的用户,注意将slave_ip替换为从服务器的IP地址,password为密码。

  1. 给予复制用户权限:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slave_ip';

给复制用户授予适当的复制权限。

  1. 重启MySQL服务,确保配置生效。

配置从服务器

  1. 检查主从状态,确保没有正在运行的复制:
SHOW SLAVE STATUS;

确保Slave_IO_RunningSlave_SQL_Running字段的值都为NO

  1. 停止复制:
STOP SLAVE;

停止复制进程。

  1. 配置主从连接信息,使用前面主服务器的信息填入以下命令中:
CHANGE MASTER TO
    MASTER_HOST='master_ip',
    MASTER_USER='repl',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=107;

替换master_ip为主服务器的IP地址,replpassword为前面创建的复制用户信息,mysql-bin.000001107为主服务器的File和Position信息。

  1. 启动复制:
START SLAVE;

启动复制进程,从服务器开始复制主服务器的数据。

结尾

通过以上步骤,你已经成功配置了MySQL主从复制,从服务器将会与主服务器保持同步。如果遇到问题,可以查看错误日志进行排查。希望这篇教程能帮助你顺利完成配置,加深对MySQL主从复制的理解。祝一切顺利!