MYSQL數(shù)據(jù)庫(kù)主從同步設(shè)置的實(shí)現(xiàn)步驟
為什么要主從同步?
1、讀寫分離
主從同步分為一個(gè)主機(jī)多個(gè)從機(jī),可以設(shè)置主從機(jī)權(quán)限。主機(jī)可以讀寫,從機(jī)只能讀。主機(jī)對(duì)數(shù)據(jù)的操作會(huì)復(fù)制到從機(jī),主機(jī)的數(shù)據(jù)和從機(jī)的一致。這樣就可以實(shí)現(xiàn)讀寫分離,讀寫分離可以緩解服務(wù)器壓力?;ヂ?lián)網(wǎng)的應(yīng)用往往是“讀多寫少”的需求,采用讀寫分離的方式,可以實(shí)現(xiàn)更高的并發(fā)訪問。
2、數(shù)據(jù)備份
我們通過主從復(fù)制將主庫(kù)上的數(shù)據(jù)復(fù)制到了從庫(kù)上,相當(dāng)于是一種熱備份機(jī)制,也就是在主庫(kù)正常運(yùn)行下進(jìn)行備份,不會(huì)影響到服務(wù)。
3、高用性
具有高可用性。我剛才講的數(shù)據(jù)備份實(shí)際上是一種冗余的機(jī)制,通過這種冗余的方式可以換取數(shù)據(jù)庫(kù)的高可用性,也就是當(dāng)服務(wù)器出現(xiàn)故障或者宕機(jī)的情況下,可以切換到從服務(wù)器上,讓從服務(wù)器充當(dāng)主服務(wù)器,保證服務(wù)的正常運(yùn)行。
主從同步的原理
主機(jī)每執(zhí)行一個(gè)操作會(huì)在二進(jìn)制日志文件中記錄。從機(jī)每隔一段時(shí)間就會(huì)對(duì)主機(jī)的日志文件進(jìn)行探測(cè),如果發(fā)生改變,從機(jī)就會(huì)發(fā)送一個(gè)IO請(qǐng)求,復(fù)制主機(jī)中的日志文件進(jìn)行同步操作,這樣從機(jī)就可以和主機(jī)同步。
MYSQL數(shù)據(jù)庫(kù)進(jìn)行主從同步
創(chuàng)建兩個(gè)MYSQL數(shù)據(jù)庫(kù)
這里創(chuàng)建了兩個(gè)數(shù)據(jù)庫(kù),分別為3301和3302。3301作為主機(jī),3302作為從機(jī)
主機(jī)3301的配置文件如下:
[mysqld] # 主機(jī)端口號(hào) port=3308 # 服務(wù)器標(biāo)識(shí),每個(gè)服務(wù)器不能一樣 server_id=111 # 開啟日志文件 log_bin=binlog # 普通用戶只能讀 OFF是關(guān)閉狀態(tài) read_only=off # 超級(jí)用戶只能讀 OFF是關(guān)閉狀態(tài) super_read_only=off
從機(jī)3302的配置文件如下:
[mysqld] # 從機(jī)端口號(hào) port=3309 # 服務(wù)器標(biāo)識(shí) server_id=2 # 開啟日志文件 log_bin=binlog # 普通用戶只能讀 on是開啟狀態(tài) read_only=on # 超級(jí)用戶只能讀 on是開啟狀態(tài) super_read_only=on
初始化,安裝主機(jī)數(shù)據(jù)庫(kù)
初始化和安裝方法和平時(shí)配置數(shù)據(jù)庫(kù)一樣,不會(huì)的看這篇博客:http://www.dbjr.com.cn/article/174987.htm
安裝好數(shù)據(jù)庫(kù)后進(jìn)入主機(jī):
進(jìn)入主機(jī)數(shù)據(jù)庫(kù),沒有密碼。
建立同步賬號(hào),并授權(quán)
查看主庫(kù)master
記住查詢出的結(jié)果,后面要用
配置從機(jī)
進(jìn)入數(shù)據(jù)庫(kù)
復(fù)制主機(jī)的二進(jìn)制日志操作,其中 source_user是主機(jī)創(chuàng)建的同步賬戶賬號(hào),source_password是賬號(hào)密碼,source_port主機(jī)端口號(hào),source_log_file之前查看主機(jī)master時(shí)File的信息,source_log_pos是Position的信息。
mysql>change replication source to source_host='127.0.0.1', source_user='repl', source_password='repl', source_port=3308,source_log_file='binlog.000006', source_log_pos=336;
啟動(dòng)同步
mysql>start replica;
查看IO線程和sql線程是否開啟
mysql>show slave status \G
測(cè)試主從同步
主機(jī)當(dāng)前的全部數(shù)據(jù)庫(kù):
從機(jī)當(dāng)前的全部數(shù)據(jù)庫(kù):
主機(jī)建立一個(gè)新數(shù)據(jù)庫(kù)xxx:
從機(jī)查看數(shù)據(jù)庫(kù):
操作同步,完成
到此這篇關(guān)于MYSQL數(shù)據(jù)庫(kù)主從同步設(shè)置的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)MYSQL數(shù)據(jù)庫(kù)主從同步設(shè)置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫(kù)權(quán)限的方法示例
這篇文章主要介紹了mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫(kù)權(quán)限的相關(guān)資料,文中的介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-04-04淺談sql連接查詢的區(qū)別 inner,left,right,full
下面小編就為大家?guī)硪黄獪\談sql連接查詢的區(qū)別 inner,left,right,full。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10MySql中的IFNULL、NULLIF和ISNULL用法詳解
本文主要介紹了MySql中的IFNULL、NULLIF和ISNULL用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03MySQL使用innobackupex備份連接服務(wù)器失敗的解決方法
這篇文章主要為大家詳細(xì)介紹了MySQL使用innobackupex備份連接服務(wù)器失敗的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02