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