MST

星途 面试题库

面试题:MariaDB多源复制的基础配置步骤

请简述在MariaDB中配置多源复制的主要步骤,包括主从服务器的相关设置。
46.4万 热度难度
数据库MariaDB

知识考点

AI 面试

面试题答案

一键面试
  1. 主服务器设置
    • 配置my.cnf
      • 打开主服务器的my.cnf文件,添加或修改以下参数:
        server - id = 1  # 每个服务器的唯一ID,主服务器设置为1,其他主服务器可设为不同值
        log - bin = /var/log/mysql/mysql - bin.log  # 二进制日志文件路径
        binlog - format = ROW  # 二进制日志格式,建议使用ROW
        
      • 重启MariaDB服务使配置生效:systemctl restart mariadb
    • 创建复制用户
      • 登录到MariaDB:mysql -u root -p
      • 创建用于复制的用户,例如:
        CREATE USER'replication_user'@'%' IDENTIFIED BY 'password';
        GRANT REPLICATION SLAVE ON *.* TO'replication_user'@'%';
        FLUSH PRIVILEGES;
        
      • 查看主服务器状态:
        SHOW MASTER STATUS;
        
        记录下FilePosition的值,后续从服务器配置时会用到。
  2. 从服务器设置(针对多源复制,这里以两个主服务器为例,实际可根据需求扩展)
    • 配置my.cnf
      • 打开从服务器的my.cnf文件,添加或修改以下参数:
        server - id = 2  # 从服务器唯一ID,需与其他服务器不同
        
      • 重启MariaDB服务:systemctl restart mariadb
    • 配置第一个主服务器的复制
      • 登录到MariaDB:mysql -u root -p
      • 设置主服务器信息:
        CHANGE MASTER TO
        MASTER_HOST='master1_ip',
        MASTER_USER='replication_user',
        MASTER_PASSWORD='password',
        MASTER_LOG_FILE='master1_log_file_name',
        MASTER_LOG_POS=master1_log_position,
        FOR CHANNEL'master1_channel';  # 自定义通道名
        
    • 配置第二个主服务器的复制
      • 同样在从服务器的MariaDB中,设置第二个主服务器信息:
        CHANGE MASTER TO
        MASTER_HOST='master2_ip',
        MASTER_USER='replication_user',
        MASTER_PASSWORD='password',
        MASTER_LOG_FILE='master2_log_file_name',
        MASTER_LOG_POS=master2_log_position,
        FOR CHANNEL'master2_channel';  # 自定义通道名
        
    • 启动多源复制
      • 在从服务器上启动多源复制:
        START SLAVE FOR CHANNEL'master1_channel';
        START SLAVE FOR CHANNEL'master2_channel';
        
    • 检查复制状态
      • 查看每个通道的复制状态:
        SHOW SLAVE STATUS FOR CHANNEL'master1_channel'\G;
        SHOW SLAVE STATUS FOR CHANNEL'master2_channel'\G;
        
        确保Slave_IO_RunningSlave_SQL_Running都为Yes,且Seconds_Behind_Master的值正常(通常为0或接近0)。