MySQL主从配置可以通过以下步骤实现

MySQL主从配置可以通过以下步骤实现:

1. 环境准备

  • 两台MySQL服务器:一台作为主服务器(Master),另一台作为从服务器(Slave)。
  • MySQL版本要一致或兼容。

2. 主服务器配置

  1. 编辑MySQL配置文件(一般是my.cnfmy.ini),添加以下配置:

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-ignore-db=mysql
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    
    • server-id:每个MySQL服务器的唯一标识,主从服务器的server-id不能相同。
    • log-bin:启用二进制日志,指定日志文件的名称前缀。
    • binlog-ignore-db:忽略指定数据库的二进制日志记录,确保不会记录不必要的系统库。
  2. 重启MySQL服务:

    sudo service mysql restart
    
  3. 创建用于复制的用户并授予权限:

    CREATE USER 'repl_user'@'%' IDENTIFIED BY 'password';
    GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
    FLUSH PRIVILEGES;
    
  4. 获取主服务器的二进制日志信息:

    SHOW MASTER STATUS;
    

    记下FilePosition,稍后在从服务器上使用。

3. 从服务器配置

  1. 编辑MySQL配置文件,添加以下配置:

    [mysqld]
    server-id=2
    relay-log=relay-log
    log-bin=mysql-bin
    binlog-ignore-db=mysql
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    
    • server-id:从服务器的唯一标识。
    • relay-log:指定中继日志文件的名称前缀。
  2. 重启MySQL服务:

    sudo service mysql restart
    
  3. 在从服务器上配置主服务器信息:

    CHANGE MASTER TO
        MASTER_HOST='主服务器的IP地址',
        MASTER_USER='repl_user',
        MASTER_PASSWORD='password',
        MASTER_LOG_FILE='主服务器的二进制日志文件名',
        MASTER_LOG_POS=主服务器的二进制日志位置;
    
  4. 启动复制线程:

    START SLAVE;
    
  5. 检查从服务器状态:

    SHOW SLAVE STATUS\G;
    

    确认Slave_IO_RunningSlave_SQL_Running都为Yes,且没有错误。

4. 测试复制

在主服务器上创建一个测试数据库或表,插入一些数据,然后检查从服务器上是否同步了这些变化。

-- 主服务器
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE test_table (id INT PRIMARY KEY, name VARCHAR(50));
INSERT INTO test_table VALUES (1, 'Test Name');

-- 从服务器
USE test_db;
SELECT * FROM test_table;

如果从服务器上能看到主服务器插入的数据,说明主从复制配置成功。

5. 处理常见问题

  • 如果在从服务器上看到Slave_IO_RunningSlave_SQL_RunningNo,检查从服务器状态信息中的错误消息,并根据错误消息进行修复。
  • 确保主从服务器之间的网络连接畅通。
  • 确保主服务器上的二进制日志文件存在且从服务器能访问。

通过以上步骤,你可以成功配置MySQL主从复制。如果遇到特定问题,可以提供详细的错误信息,我可以进一步帮助你。

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值