MySQL一主多從配置
什么是一主多從?
一主多從是指在MySQL集群架構中,只有一個主節點(Master),但有多個從節點(Slave)。Master節點負責所有寫操作,Slave節點負責讀操作,實現對系統的讀寫分離。
一主多從的優點
高可用性,當主節點宕機時可以立即使用其中一個從節點作為新的主節點,能夠快速恢復系統的正常運行;
提高讀取性能,讀操作可以通過多個從節點分攤,壓力更均衡,提高響應速度和吞吐量;
擴展性,部署更多的從節點可以進一步提高讀取性能。
一主多從的配置
步驟一:主節點配置
在my.cnf配置文件中設置如下參數:
log-bin=mysql-bin # 開啟二進制日志文件記錄
server-id=1 # 設置唯一的server-id,以便于在主從復制的過程中區分各個節點
重啟MySQL服務使配置生效。
步驟二:從節點配置
在my.cnf配置文件中設置如下參數:
server-id=2 # 設置唯一的server-id,以便于在主從復制的過程中區分各個節點
重啟MySQL服務使配置生效。
步驟三:主節點操作
創建用于復制的賬號,并授權給從節點使用。
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON \*.\* TO 'slave_user'@'%' IDENTIFIED BY 'password'; # '%'表示允許從節點使用任意IP連接主節點
FLUSH PRIVILEGES;
SHOW MASTER STATUS; # 查看master的當前庫狀態,記錄file和position以便于在從節點配置時使用
記錄Master的地址,端口號,賬號,密碼以便后續從節點連接主節點。
步驟四:從節點操作
連接主節點
CHANGE MASTER TO MASTER_HOST='mymaster.com', MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1234;
START SLAVE;
SHOW SLAVE STATUS\G; # 查看復制狀態信息,確保Slave_IO_Running和Slave_SQL_Running都為YES
總結
通過一主多從的配置,能夠實現MySQL集群的高可用,提高讀取性能,為系統完成分布式部署奠定基礎。