本文介紹如何在Linux系統上搭建mysql主從復制架構,實現數據高可用和負載均衡。 以下步驟將指導您完成配置過程:
一、準備工作
確保主服務器(Master)和從服務器(Slave)都已安裝相同版本的MySQL數據庫。
二、主服務器配置
2.1 修改MySQL配置文件
編輯主服務器的MySQL配置文件(通常位于/etc/my.cnf或/etc/mysql/my.cnf),添加或修改以下內容:
[mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = your_database_name # 替換為需要復制的數據庫名
2.2 重啟MySQL服務
保存配置文件后,重啟MySQL服務:
sudo systemctl restart mysql
2.3 創建復制用戶
連接MySQL數據庫,創建一個用于復制的專用用戶:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password'; # 替換為您的密碼 GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES;
2.4 獲取主服務器狀態
獲取主服務器的二進制日志文件信息:
SHOW MASTER STATUS;
記錄下File和position的值,后續配置從服務器時需要用到。
三、從服務器配置
3.1 修改MySQL配置文件
編輯從服務器的MySQL配置文件,添加或修改以下內容:
[mysqld] server-id = 2 relay_log = /var/log/mysql/mysql-relay-bin.log log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = your_database_name # 替換為需要復制的數據庫名 read_only = 1
3.2 重啟MySQL服務
保存配置文件后,重啟MySQL服務:
sudo systemctl restart mysql
3.3 配置復制
連接從服務器的MySQL數據庫,執行以下命令配置復制:
CHANGE MASTER TO MASTER_HOST='master_ip_address', # 替換為主服務器IP地址 MASTER_USER='replicator', MASTER_PASSWORD='your_password', # 替換為您的密碼 MASTER_LOG_FILE='mysql-bin.000001', # 替換為主服務器的File值 MASTER_LOG_POS=123; # 替換為主服務器的Position值
3.4 啟動復制
啟動從服務器的復制進程:
START SLAVE;
3.5 檢查復制狀態
檢查從服務器的復制狀態:
SHOW SLAVE STATUSG
確認Slave_IO_Running和Slave_SQL_Running都顯示為Yes。如果顯示為No,請檢查錯誤信息并進行相應調整。
四、驗證復制
在主服務器上插入一些數據,然后在從服務器上驗證數據是否已同步。
五、注意事項
- 保證主從服務器時間同步。
- 確保防火墻允許MySQL端口(默認3306)的網絡通信。
- 定期檢查復制狀態,及時發現并解決潛在問題。
完成以上步驟后,您的MySQL主從復制配置就完成了。 請務必替換文中占位符為您的實際值。