如何配置Linux MariaDB主從復制

如何配置Linux MariaDB主從復制

搭建mariadb主從復制環境需要完成以下幾個步驟。前提是你已經在兩臺服務器上部署好MariaDB,并且它們之間可以互相通信。

1. 設置主數據庫服務器

  1. 修改主服務器的配置文件(通常為 /etc/my.cnf 或者 /etc/mysql/my.cnf):

     [mysqld]  server-id = 1  log_bin = /var/log/mysql/mysql-bin.log  binlog_do_db = mydb  # 使用你要同步的數據庫名替換該字段
  2. 重啟MariaDB服務以應用更改

     sudo systemctl restart mariadb
  3. 進入MariaDB并創建用于復制的賬號

     CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';  # 密碼請按需修改  GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';  FLUSH PRIVILEGES;
  4. 鎖定表并查看當前二進制日志狀態

     FLUSH TABLES WITH READ LOCK;  SHOW MASTER STATUS;

    記錄 File 和 position 的信息,后續操作會用到。

  5. 釋放表鎖

     UNLOCK TABLES;

2. 設置從數據庫服務器

  1. 編輯從服務器的配置文件(一般位于 /etc/my.cnf 或 /etc/mysql/my.cnf):

     [mysqld]  server-id = 2  relay_log = /var/log/mysql/mysql-relay-bin.log  log_bin = /var/log/mysql/mysql-bin.log  binlog_do_db = mydb  # 數據庫名稱請根據實際情況調整  read_only = 1
  2. 重啟MariaDB服務使新配置生效

     sudo systemctl restart mariadb
  3. 登錄MariaDB并設置主服務器連接信息

     CHANGE MASTER TO  MASTER_HOST='master_ip',  # 替換為主服務器IP地址  MASTER_USER='replicator',  MASTER_PASSWORD='password',  # 與之前設置的密碼一致  MASTER_LOG_FILE='mysql-bin.000001',  # 替換為你記錄的File值  MASTER_LOG_POS=123;  # 替換為你記錄的Position值
  4. 啟動從服務器復制功能

     START SLAVE;
  5. 查詢從服務器運行狀態

     SHOW SLAVE STATUSG

    確保 Slave_IO_Running 和 Slave_SQL_Running 都顯示 Yes,否則請排查錯誤原因。

3. 測試數據同步

在主服務器執行插入操作,并在從服務器檢查是否已同步:

-- 在主服務器上 USE mydb; INSERT INTO mytable (column1, column2) VALUES ('value1', 'value2'); <p>-- 在從服務器上 USE mydb; SELECT * FROM mytable;

如果從服務器能查到新增的數據,則表示復制配置成功。

常見注意事項

  • 主從服務器時間要保持一致。
  • 確認防火墻規則允許訪問MySQL默認端口 3306。
  • 如果使用云主機,請確保安全組或網絡策略放行相關流量。

通過上述步驟,你應該已經完成了MariaDB主從復制的配置工作。

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享