您好,登錄后才能下訂單哦!
下文主要給大家帶來如何設置Mysql的主從數據庫,希望這些內容能夠帶給大家實際用處,這也是我編輯如何設置Mysql的主從數據庫這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
1、配置:
兩臺云服務器同配置的mysql如mysql5.7
PS:如果條件有限,一臺也可以,只需要安裝兩個mysql服務(不同端口如3306,3307),只是這就有點違背效率初衷了
2、代碼:
1.一般直接在代碼層將mysql操作類的讀寫如update,insert與select * from進行路由分離.使之對應不同的云服務器.
2.中間件代理,即不改動代碼的前提下,由中間件將讀寫請求發送至主從云服務器.
現在講講主從如何配置:
1、開放端口:大部分主機都默認Mysql端口3306,那么先將兩臺機子的安全組或防火墻里把3306端口打開并重啟.
2、端口打開了,現在配置兩個云服務器(一臺主機兩個Mysql服務器的同理):
下文以主ip:192.168.0.1,從ip:192.168.0.2,創建同步賬號spec,密碼spec_password為例:
主云服務器(增刪改):
#1.Mysql配置改以下并重啟服務(命令行里直接重啟:service mysql restart) [mysqld] server-id=1 log-bin=master-bin log-bin-index=master-bin.index #2.命令行mysql執行或phpmyadmin里執行: GRANT REPLICATION SLAVE ON *.* TO 'spec'@'192.168.0.2' IDENTIFIED BY 'spec_password'; flush privileges;
這樣,主云服務器就完工了.
從云服務器配置:
#1.Mysql配置改以下并重啟服務(命令行里直接重啟:service mysql restart) [mysqld] server-id=2 relay-log-index=slave-bin.index relay-log=slave-bin #2.命令行mysql執行或phpmyadmin里執行: change master to master_host='192.168.0.1',master_port=3306,master_user='spec',master_password='spec_password',master_log_file='master-bin.000001',master_log_pos=0; start slave
一般來說,配置到此就完成了.
3.測試:
從云服務器中查詢語句:show slave status
如果Slave_IO_State=Waiting for master to send event就成功了.
其余狀態通常都是以下原因:
1.主從的安全組或防火墻未打開3306端口
2.主從之間ping不通.
3.上面的spec賬密錯誤
現在起,在主云服務器隨便增刪改,都會同步到從服務器了.
4.建議:
1.切記從云服務器只操作讀,不操作增刪改.保持數據的同步性,這樣當一臺服務器故障的時候,另一臺就可以頂上去(其實主服務器宕機的時候肯定會丟失一部分最新數據)。
2.從云服務器的帶寬一定>=主服務器,盡量減少同步延遲.要是小水管,同步自然慢一步嘛。
對于以上關于如何設置Mysql的主從數據庫,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。