在linux系統中設置mariadb的主從復制需要完成一系列操作流程。下面將分步驟介紹如何搭建主服務器與從服務器之間的數據同步機制。
主服務器設置
-
修改主服務器的配置文件(通常位于/etc/my.cnf或/etc/mysql/my.cnf):
-
重啟MariaDB服務,使配置生效:
sudo systemctl restart mariadb
-
進入MariaDB控制臺并創建一個專用的復制賬戶:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password'; # 設置安全密碼 GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES;
-
鎖定數據庫表并查看當前二進制日志信息:
FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
注意記錄輸出中的File和position字段值。
-
釋放表鎖:
UNLOCK TABLES;
從服務器設置
-
編輯從服務器的配置文件(路徑同上):
[mysqld] server-id = 2 relay_log = /var/log/mysql/mysql-relay-bin.log log_bin = /var/log/mysql/mysql-bin.log read_only = 1
-
重啟MariaDB服務以啟用新的配置參數:
sudo systemctl restart mariadb
-
連接到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值
-
啟動從服務器的復制線程:
START SLAVE;
-
查詢復制狀態是否正常運行:
SHOW SLAVE STATUSG
確認Slave_IO_Running和Slave_SQL_Running的狀態均為Yes。如果出現異常,請根據提示排查問題。
相關建議
- 保持主從服務器之間的時間一致性。
- 每個服務器的server-id必須唯一,不能重復。
- 若部署多個從節點,應確保每個節點擁有獨立的server-id。
- 推薦在正式環境中采用GTID等更高級別的復制策略以增強可靠性。
按照上述流程操作后,你應該可以順利完成MariaDB的主從架構搭建。如遇故障,請參考相關日志進行調試分析。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END