ubuntu

Ubuntu MariaDB主从复制配置步骤

小樊
44
2025-08-29 21:40:35
栏目: 云计算

以下是在Ubuntu上配置MariaDB主从复制的步骤:

一、主服务器配置

  1. 安装MariaDB

    sudo apt update && sudo apt install mariadb-server  
    sudo systemctl start mariadb && sudo systemctl enable mariadb  
    
  2. 修改配置文件
    编辑 /etc/mysql/mariadb.conf.d/50-server.cnf,添加:

    [mysqld]  
    server-id = 1                # 主服务器唯一ID  
    log_bin = /var/log/mysql/mysql-bin.log  # 启用二进制日志  
    binlog_do_db = your_database  # 指定同步的数据库(可选)  
    
  3. 重启服务并创建复制用户

    sudo systemctl restart mariadb  
    mysql -u root -p  
    

    执行SQL:

    CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password';  
    GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';  
    FLUSH PRIVILEGES;  
    
  4. 获取二进制日志位置

    FLUSH TABLES WITH READ LOCK;  
    SHOW MASTER STATUS;  
    

    记录 FilePosition 值,后续用于从服务器配置。

二、从服务器配置

  1. 安装MariaDB
    同主服务器安装步骤。

  2. 修改配置文件
    编辑 /etc/mysql/mariadb.conf.d/50-server.cnf,添加:

    [mysqld]  
    server-id = 2                # 从服务器唯一ID(需与主服务器不同)  
    relay_log = /var/log/mysql/mysql-relay-bin.log  
    read_only = 1                # 设置为只读(可选)  
    
  3. 重启服务并配置主从同步

    sudo systemctl restart mariadb  
    mysql -u root -p  
    

    执行SQL:

    CHANGE MASTER TO  
    MASTER_HOST='master_ip',     # 主服务器IP  
    MASTER_USER='replicator',  
    MASTER_PASSWORD='your_password',  
    MASTER_LOG_FILE='mysql-bin.000001',  # 替换为主服务器记录的File值  
    MASTER_LOG_POS=123;          # 替换为主服务器记录的Position值  
    START SLAVE;  
    

三、验证复制状态

在从服务器执行:

SHOW SLAVE STATUS\G  

确保 Slave_IO_RunningSlave_SQL_Running 均为 Yes,表示复制正常。

注意事项

参考来源:

0
看了该问题的人还看了