mysql主從配置步驟如下:1.確保主從服務器網絡互通并安裝mysql;2.配置主服務器啟用二進制日志并創(chuàng)建復制用戶;3.配置從服務器設置唯一server-id并啟動復制;4.測試主從同步效果。具體操作包括檢查網絡連接、修改配置文件、創(chuàng)建用戶授權、記錄并指定binlog文件及位置,最后驗證數(shù)據(jù)同步是否成功。
安裝完 mysql 后,如果想提升系統(tǒng)的可用性和數(shù)據(jù)冗余能力,最常見的做法是配置主從集群(Master-Slave Replication)。這不僅能實現(xiàn)數(shù)據(jù)的實時備份,還能用于讀寫分離、負載均衡等場景。下面是一個基礎但實用的 MySQL 主從配置教程,適合剛完成安裝的新手快速上手。
1. 確保主從服務器網絡互通并安裝mysql
在開始配置前,先確認以下幾點:
- 主服務器(Master)和從服務器(Slave)之間可以互相 ping 通
- 兩臺機器都已安裝相同或兼容版本的 MySQL
- 建議關閉防火墻或開放相應端口(默認3306)
你可以通過如下命令檢查是否能遠程連接對方數(shù)據(jù)庫:
telnet [目標IP] 3306
如果無法連接,請檢查防火墻設置或 mysqld 的綁定地址。
2. 配置主服務器(Master)
首先要在主服務器上啟用二進制日志,并為從服務器分配一個專用賬戶。
步驟如下:
- 編輯 MySQL 配置文件(通常是 /etc/my.cnf 或 /etc/mysql/my.cnf)
- 添加或修改以下內容:
server-id=1 log-bin=mysql-bin bind-address = 0.0.0.0 # 允許外部訪問
保存后重啟 MySQL:
systemctl restart mysqld
然后創(chuàng)建一個用于復制的用戶:
CREATE USER 'replica_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%'; FLUSH PRIVILEGES;
查看當前主庫狀態(tài),記錄下 File 和 position 值:
SHOW MASTER STATUS;
3. 配置從服務器(Slave)
從服務器需要知道主服務器的地址、端口、用戶名、密碼,以及剛才記錄的 binlog 文件名和位置。
操作步驟如下:
- 修改從服務器的配置文件,添加:
server-id=2 # 每個節(jié)點必須唯一 relay-log=mysqld-relay-bin bind-address = 0.0.0.0
注意:如果你打算搭建多級從庫或者環(huán)形復制,記得每個節(jié)點的 server-id 都要不同。
重啟從服務器的 MySQL:
systemctl restart mysqld
登錄 MySQL 并執(zhí)行如下命令啟動復制:
CHANGE MASTER TO MASTER_HOST='主服務器IP', MASTER_USER='replica_user', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bin.000001', -- 替換為你查到的值 MASTER_LOG_POS= 4; -- 替換為你查到的位置 START SLAVE;
然后運行:
SHOW SLAVE STATUSG
確保 Slave_IO_Running 和 Slave_SQL_Running 都為 Yes,說明復制已經正常啟動。
4. 測試主從同步效果
可以在主服務器上新建一個測試數(shù)據(jù)庫和表,插入一些數(shù)據(jù):
CREATE DATABASE test_replica; USE test_replica; CREATE TABLE t1 (id INT PRIMARY KEY, name VARCHAR(50)); INSERT INTO t1 VALUES (1, 'test');
然后切換到從服務器,查看是否也出現(xiàn)了這個數(shù)據(jù):
SELECT * FROM test_replica.t1;
如果能看到剛剛插入的數(shù)據(jù),說明主從復制已經生效。
基本上就這些了。主從復制雖然看起來有點復雜,但只要一步步來,其實不難。關鍵點在于注意 server-id 不重復、網絡連通性、權限配置正確,還有 binlog 文件和位置不能搞錯。一旦配置成功,后續(xù)就可以在此基礎上做讀寫分離、高可用方案等擴展了。