MySQL主從復制技術是MySQL數據庫服務器常用的一種高可用性和可擴展性方案。在MySQL主從復制技術中,一個MySQL服務器充當“主”節點,而另一個MySQL服務器充當“從”節點。當主節點上發生數據更改時,所有更改將自動復制到從節點上。這種技術可確保當主節點發生故障時,從節點可以接管,并繼續提供服務。
本文將介紹如何在MySQL 5.7上進行主從配置。
第一步是確保MySQL主節點和從節點都已正確安裝和配置,并且可以通過TCP / IP網絡連接。接下來,必須更改主節點的my.cnf文件。在my.cnf文件中添加以下參數:
server-id=1 log_bin=/var/log/mysql/mysql-bin.log
在這里,“server-id”是服務器的唯一標識符,并且必須在主節點和從節點之間是唯一的。另一個參數“log-bin”是二進制日志名稱,需要在主節點上啟用二進制日志記錄功能以將更改記錄到二進制日志文件中。
更改文件后,請在主節點上重新啟動MySQL。
然后進入從節點上的MySQL,并確定需要復制的主節點的名稱(或IP地址)和其二進制日志文件名。您可以用命令:SHOW MASTER STATUS得到這些信息。
最后,在從節點上修改my.cnf文件。在my.cnf文件中添加以下參數:
server-id=2 replicate-do-db=mydatabase relay-log=/var/lib/mysql/mysql-relay-bin.log relay-log-index=/var/lib/mysql/mysql-relay-bin.index
其中,“server-id”是服務器的唯一標識符。而“relay-log”是轉發日志的名稱,必須在從節點上啟用中繼日志以在主節點上創建更改數據的副本。另一個參數“relay-log-index”是轉發日志中索引的名稱。
在更改文件后,請重新啟動從節點。
現在,需要在從節點上啟動復制過程。可以使用以下語句:
CHANGE MASTER TO MASTER_HOST='master_ip',MASTER_USER='replicator',MASTER_PASSWORD='password',MASTER_LOG_FILE='master_log_bin_file_name',MASTER_LOG_POS=4;
在這里,“master_ip”是主節點的IP地址,“replicator”和“password”是MySQL主節點上創建的授權用戶和密碼。而“master_log_bin_file_name”是主節點上的二進制日志文件名,“4”是日志文件位置。
最后,啟動復制過程:
START SLAVE;
完了,現在MySQL的主從配置已完成。主節點上任何數據更改都會自動復制到從節點上。