溫馨提示×

Ubuntu MariaDB主從復制配置步驟

小樊
43
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,表示復制正常。

注意事項

  • 確保主從服務器時間同步(可使用 ntpchrony)。
  • 配置防火墻允許3306端口通信。
  • 生產環境建議啟用SSL加密傳輸(需在配置中添加SSL相關參數)。

參考來源:

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女