真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql主從怎么實(shí)現(xiàn) mysql主從從配置

mysql主從庫(kù)與讀寫(xiě)分離

一.mysql主從庫(kù)與讀寫(xiě)分離的實(shí)現(xiàn)理論

目前創(chuàng)新互聯(lián)已為超過(guò)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、獻(xiàn)縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

二.mysql配置

1.準(zhǔn)備兩臺(tái)服務(wù)器安裝mysql(也可以在一臺(tái)中裝兩個(gè)mysql修改端口號(hào)避免沖突)

2.分別連接mysql

3.配置mysql

1.配置主庫(kù) monster

打開(kāi)binary log

2.配置從庫(kù)

主庫(kù)授權(quán)

賬號(hào)repl后面的是從庫(kù)的ip地址 mysql是賬號(hào)repl的密碼

刷新

后面master_log_pos=0 表示從零開(kāi)始同步 master_log_file 是上面SHOW MASTER STATUS 下面的file文件

在從庫(kù)中開(kāi)啟主從跟蹤

查看從庫(kù)狀態(tài)

從庫(kù)中終止主從同步 stop slave

查看 my.cnf 文件 把 server -id=1 的字段刪除 保留server-id=2 修改后保存 重啟mysql 重新連接 開(kāi)啟主從同步start slave

查看從庫(kù)狀態(tài) 發(fā)現(xiàn)沒(méi)有錯(cuò)誤 到此主從同步配置已經(jīng)完成.

安全最重要!MySQL配置主從復(fù)制,主主復(fù)制

為了保障數(shù)據(jù)的安全與穩(wěn)定性,我們常用數(shù)據(jù)庫(kù)的主從復(fù)制與主主復(fù)制來(lái)實(shí)現(xiàn)。主從復(fù)制為從機(jī)實(shí)時(shí)拷貝一份主機(jī)的數(shù)據(jù),當(dāng)主機(jī)有數(shù)據(jù)變化時(shí),從機(jī)的數(shù)據(jù)會(huì)跟著變,當(dāng)從機(jī)數(shù)據(jù)有變化時(shí),主機(jī)數(shù)據(jù)不變;同樣地,主主復(fù)制就是,多個(gè)主機(jī)之間,只要有一個(gè)主機(jī)的數(shù)據(jù)變化了,其它主機(jī)數(shù)據(jù)也會(huì)跟著變化。

添加以下內(nèi)容

如果你是使用我之前那種方式啟動(dòng)的MySQL,那么你只需要去你相關(guān)聯(lián)的宿主機(jī)的配置文件夾里面去建立一個(gè) my.cnf 然后寫(xiě)入上面的類容就好了。

比如:我的啟動(dòng)命令如下(不應(yīng)該換行的,這里為了方便查看,我給它分行了)

那么我只需要在 /docker/mysql_master/conf 這個(gè)目錄下創(chuàng)建 my.cnf 文件就好了。

這個(gè)命令是需要在容器里面執(zhí)行的

docker重啟mysql會(huì)關(guān)閉容器,我們需要重啟容器。

確保在主服務(wù)器上 skip_networking 選項(xiàng)處于 OFF 關(guān)閉狀態(tài), 這是默認(rèn)值。 如果是啟用的,則從站無(wú)法與主站通信,并且復(fù)制失敗。

我的命令如下

在從服務(wù)器配置連接到主服務(wù)器的相關(guān)信息 (在容器里面的mysql執(zhí)行)

上面代碼的xxxxx你需要換成你的IP,docker 查看容器 IP 的命令如下:

啟動(dòng)的那個(gè)從服務(wù)器的線程

測(cè)試的話,你可以在主服務(wù)器里面,創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),發(fā)現(xiàn)從服務(wù)器里面也有了,就成功了。

如果你還想要一個(gè)從服務(wù)器,那么你只需要按照上面配置從服務(wù)器再配置一個(gè)就行了,新建的從服務(wù)器,會(huì)自動(dòng)保存主服務(wù)器之前的數(shù)據(jù)。(測(cè)試結(jié)果) 如果你上面的主從復(fù)制搞定了,那么這個(gè)主主復(fù)制就很簡(jiǎn)單了。我們把上面的從服務(wù)器也改成主服務(wù)器

1)、修改上面的從服務(wù)器的my.cnf文件,和主服務(wù)器的一樣(注意這個(gè)server-id不能一樣)然后重啟服務(wù)器 2)、在從服務(wù)器里面創(chuàng)建一個(gè)復(fù)制用戶創(chuàng)建命令一樣(這里修改一下用戶名可以改為 repl2) 3)、在之前的主服務(wù)器里面運(yùn)行下面這個(gè)代碼

上面主要是教你怎么搭建一個(gè)MySQL集群,但是這里面還有很多其它的問(wèn)題。也是我在學(xué)習(xí)過(guò)程中思考的問(wèn)題,可能有的小伙伴上來(lái)看到文章長(zhǎng)篇大論的看不下去,只想去實(shí)現(xiàn)這樣一直集群功能,所以我就把問(wèn)題寫(xiě)在下面了。

1)、MySQL的replication和pxc MySQL的集群方案有replication和pxc兩種,上面是基于replication實(shí)現(xiàn)的。

replication: 異步復(fù)制,速度快,無(wú)法保證數(shù)據(jù)的一致性。 pxc: 同步復(fù)制,速度慢,多個(gè)集群之間是事務(wù)提交的數(shù)據(jù)一致性強(qiáng)。

2)、MySQL的replication數(shù)據(jù)同步的原理 我們?cè)谂渲玫臅r(shí)候開(kāi)啟了它的二進(jìn)制日志,每次操作數(shù)據(jù)庫(kù)的時(shí)候都會(huì)更新到這個(gè)日志里面去。主從通過(guò)同步這個(gè)日志來(lái)保證數(shù)據(jù)的一致性。

3)、可否不同步全部的數(shù)據(jù) 可以配置,同步哪些數(shù)據(jù)庫(kù),甚至是哪些表。

4)、怎么關(guān)閉和開(kāi)始同步

5)、我就我的理解畫(huà)出了,主從、主從從、主主、復(fù)制的圖。

往期推薦:

利用Docker僅花1分鐘時(shí)間安裝好MySQL服務(wù)

Linux下MySQL 5.7的離線與在線安裝(圖文)

Linux下安裝MySQL8.0(收藏?。?/p>

MySQL主從原理

系統(tǒng)優(yōu)化:假如現(xiàn)在用戶反映系統(tǒng)太卡

1:如果是請(qǐng)求太多,判斷web服務(wù)器壓力過(guò)大,增加前端的web服務(wù)器,做負(fù)載均衡

2:如果請(qǐng)求靜態(tài)頁(yè)面不卡了,但是請(qǐng)求動(dòng)態(tài)數(shù)據(jù)還是卡,說(shuō)明MySQL處理的請(qǐng)求太多了,在應(yīng)用層增加緩存

3:如果請(qǐng)求激增,還是有大量的查詢到MySQL,想辦法處理MySQL ,在一個(gè)應(yīng)用中,大量的消耗MySQL的還是查詢,就可以把MySQL拆開(kāi),就像公路分道 公交車道,小轎車道,把MySQL做成主從

1,就算MYSQL拆成了多個(gè),也必須分出主和從,所有的寫(xiě)操作都必須要在主MYSQL 上完成;

2,所有的從MYSQL的數(shù)據(jù)都來(lái)自于(同步于)主MYSQL;

3,既然涉及到同步,那一定有延遲;有延遲,就一定可能在讀的時(shí)候產(chǎn)生臟數(shù)據(jù);所以,能夠在從MYSQL上進(jìn)行的讀操作,一定對(duì)實(shí)時(shí)性和臟數(shù)據(jù)有一定容忍度的數(shù)據(jù);比如,登陸日志,后臺(tái)報(bào)表,首頁(yè)統(tǒng)計(jì)信息來(lái)源;文章;資訊;SNS消息;

4,[注意]:在MYSQL主從時(shí),如果一個(gè)業(yè)務(wù)(service中的一個(gè)方法)中,如果既有R操作,又有W操作,因?yàn)閃操作一定要在主MYSQL上,所以在一個(gè)事務(wù)中所有的數(shù)據(jù)來(lái)源都只能來(lái)自于一個(gè)MYSQL

1,要完成主從同步,就必須讓在Master上執(zhí)行的所有的DML和DDL能夠正確的在Salve上再執(zhí)行一遍;MYSQL選擇使用文件來(lái)記錄SQL;

2,要完成主從同步,第一個(gè)事情就是把在主服務(wù)器上的bin-log(二進(jìn)制文件)打開(kāi),bin-log文件就可以記錄在MYSQL上執(zhí)行的所有的DML+DDL+TCL;

3,MYSQL使用被動(dòng)注冊(cè)的方式來(lái)讓從MYSQL請(qǐng)求同步主MYSQL的binlog;原因:被動(dòng)請(qǐng)求的方式,主的MYSQL不需要知道有哪些從的MYSQL,我額外添加/去掉從MYSQL服務(wù)器,對(duì)主MYSQL服務(wù)器的正常運(yùn)行沒(méi)有任何影響;

4,第二步,從MYSQL后臺(tái)一個(gè)線程發(fā)送一個(gè)請(qǐng)求,到主服務(wù)器請(qǐng)求更新數(shù)據(jù);最重要的數(shù)據(jù)(我這次請(qǐng)求,請(qǐng)求你bin-log的哪一行數(shù)據(jù)之后的數(shù)據(jù))

5,第三步,主MYSQL后臺(tái)一個(gè)線程接收到從MYSQL發(fā)送的請(qǐng)求,然后讀取bin-log文件中指定的內(nèi)容,并放在從MYSQL的請(qǐng)求響應(yīng)中;

6,第四步,從MYSQL的請(qǐng)求帶回同步的數(shù)據(jù),然后寫(xiě)在從MYSQL中的relay-log(重做日志)中;relay-log中記錄的就是從主MYSQL中請(qǐng)求回來(lái)的哪些SQL數(shù)據(jù);

7,第五步,從MYSQL后臺(tái)一個(gè)線程專門用于從relay-log中讀取同步回來(lái)的SQL,并寫(xiě)入到從MYSQL中,完成同步;

8,MYSQL的主從同步是經(jīng)過(guò)高度優(yōu)化的,性能非常高;


名稱欄目:mysql主從怎么實(shí)現(xiàn) mysql主從從配置
網(wǎng)站路徑:http://weahome.cn/article/hhhsic.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部