国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL數(shù)據(jù)庫(kù)——主從復(fù)制

這篇具有很好參考價(jià)值的文章主要介紹了MySQL數(shù)據(jù)庫(kù)——主從復(fù)制。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


前言

在實(shí)際的生產(chǎn)環(huán)境中,對(duì)數(shù)據(jù)庫(kù)的讀和寫(xiě)都在同一個(gè)數(shù)據(jù)庫(kù)服務(wù)器中,是不能滿足實(shí)際需求的。無(wú)論是在安全性、高可用性還是高并發(fā)等各個(gè)方面都是完全不能滿足實(shí)際需求的。因此,通過(guò)主從復(fù)制的方式來(lái)同步數(shù)據(jù),再通過(guò)讀寫(xiě)分離來(lái)提升數(shù)據(jù)庫(kù)的并發(fā)負(fù)載能力。有點(diǎn)類(lèi)似于rsync,但是不同的是rsync是對(duì)磁盤(pán)文件做備份,而mysql主從復(fù)制是對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)、語(yǔ)句做備份。


一、讀寫(xiě)分離概述

1. 什么是讀寫(xiě)分離?

  • 讀寫(xiě)分離,基本的原理是讓主數(shù)據(jù)庫(kù)處理事務(wù)性增、改、刪操作(INSERT、UPDATE、DELETE),而從數(shù)據(jù)庫(kù)處理SELECT查詢操作。
  • 數(shù)據(jù)庫(kù)復(fù)制被用來(lái)把事務(wù)性操作導(dǎo)致的變更同步到集群中的從數(shù)據(jù)庫(kù)。

2. 為什么要讀寫(xiě)分離呢?

  • 因?yàn)閿?shù)據(jù)庫(kù)的“寫(xiě)”(寫(xiě)10000條數(shù)據(jù)可能要3分鐘)操作是比較耗時(shí)的。
  • 但是數(shù)據(jù)庫(kù)的“讀”(讀10000條數(shù)據(jù)可能只要5秒鐘)。
  • 所以讀寫(xiě)分離,解決的是,數(shù)據(jù)庫(kù)的寫(xiě)入,影響了查詢的效率。

3. 什么時(shí)候要讀寫(xiě)分離?

  • 數(shù)據(jù)庫(kù)不一定要讀寫(xiě)分離,如果程序使用數(shù)據(jù)庫(kù)較多時(shí),而更新少,查詢多的情況下會(huì)考慮使用。
  • 利用數(shù)據(jù)庫(kù)主從同步,再通過(guò)讀寫(xiě)分離可以分擔(dān)數(shù)據(jù)庫(kù)壓力,提高性能。

4. 主從復(fù)制與讀寫(xiě)分離

  • 在實(shí)際的生產(chǎn)環(huán)境中,對(duì)數(shù)據(jù)庫(kù)的讀和寫(xiě)都在同一個(gè)數(shù)據(jù)庫(kù)服務(wù)器中,是不能滿足實(shí)際需求的。無(wú)論是在安全性、高可用性還是高并發(fā)等各個(gè)方面都是完全不能滿足實(shí)際需求的。
  • 因此,通過(guò)主從復(fù)制的方式來(lái)同步數(shù)據(jù),再通過(guò)讀寫(xiě)分離來(lái)提升數(shù)據(jù)庫(kù)的并發(fā)負(fù)載能力。
  • 有點(diǎn)類(lèi)似于rsync,但是不同的是rsync是對(duì)磁盤(pán)文件做備份,而mysql主從復(fù)制是對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)、語(yǔ)句做備份。

5. mysq支持的復(fù)制類(lèi)型

  • (1)STATEMENT:基于語(yǔ)句的復(fù)制。在服務(wù)器上執(zhí)行sql語(yǔ)句,在從服務(wù)器上執(zhí)行同樣的語(yǔ)句,mysql默認(rèn)采用基于語(yǔ)句的復(fù)制,執(zhí)行效率高。
  • (2)ROW:基于行的復(fù)制。把改變的內(nèi)容復(fù)制過(guò)去,而不是把命令在從服務(wù)器上執(zhí)行一遍。
  • (3)MIXED:混合類(lèi)型的復(fù)制。默認(rèn)采用基于語(yǔ)句的復(fù)制,一旦發(fā)現(xiàn)基于語(yǔ)句無(wú)法精確復(fù)制時(shí),就會(huì)采用基于行的復(fù)制。

6. 主從復(fù)制的工作過(guò)程

  • (1)Master節(jié)點(diǎn)將數(shù)據(jù)的改變記錄成二進(jìn)制日志(bin log),當(dāng)Master上的數(shù)據(jù)發(fā)生改變時(shí),則將其改變寫(xiě)入二進(jìn)制日志中。
  • (2)Slave節(jié)點(diǎn)會(huì)在一定時(shí)間間隔內(nèi)對(duì)Master的二進(jìn)制日志進(jìn)行探測(cè)其是否發(fā)生改變,如果發(fā)生改變,則開(kāi)始一個(gè)I/O線程請(qǐng)求 Master的二進(jìn)制事件。
  • (3)同時(shí)Master節(jié)點(diǎn)為每個(gè)I/O線程啟動(dòng)一個(gè)dump線程,用于向其發(fā)送二進(jìn)制事件,并保存至Slave節(jié)點(diǎn)本地的中繼日志(Relay log)中,Slave節(jié)點(diǎn)將啟動(dòng)SQL線程從中繼日志中讀取二進(jìn)制日志,在本地重放,即解析成 sql 語(yǔ)句逐一執(zhí)行,使得其數(shù)據(jù)和 Master節(jié)點(diǎn)的保持一致,最后I/O線程和SQL線程將進(jìn)入睡眠狀態(tài),等待下一次被喚醒。

注:

  • 中繼日志通常會(huì)位于 OS 緩存中,所以中繼日志的開(kāi)銷(xiāo)很小。
  • 復(fù)制過(guò)程有一個(gè)很重要的限制,即復(fù)制在 Slave上是串行化的,也就是說(shuō) Master上的并行更新操作不能在 Slave上并行操作。
    MySQL數(shù)據(jù)庫(kù)——主從復(fù)制

7. MySQL主從復(fù)制延遲

發(fā)生MySQL主從復(fù)制延遲的幾種原因

  1. master服務(wù)器高并發(fā),形成大量事務(wù)
  2. 網(wǎng)絡(luò)延遲
  3. 主從硬件設(shè)備導(dǎo)致
    cpu主頻、內(nèi)存io、硬盤(pán)io
  4. 本來(lái)就不是同步復(fù)制、而是異步復(fù)制

解決辦法:

  • 從庫(kù)優(yōu)化Mysql參數(shù)。比如增大innodb_buffer_pool_size,讓更多操作在Mysql內(nèi)存中完成,減少磁盤(pán)操作。
  • 從庫(kù)使用高性能主機(jī)。包括cpu強(qiáng)悍、內(nèi)存加大。避免使用虛擬云主機(jī),使用物理主機(jī),這樣提升了i/o方面性。
  • 從庫(kù)使用SSD磁盤(pán)
  • 網(wǎng)絡(luò)優(yōu)化,避免跨機(jī)房實(shí)現(xiàn)同步

二、主從復(fù)制配置方法

  1. 首先做時(shí)間同步
rpm -q ntp ntpdate  #首先確定安裝這兩個(gè)工具如果沒(méi)有安裝的話yum安裝一下
yum -y install ntp ntpdate
vim /etc/ntp.conf  ##ntp的配置文件

在主服務(wù)器配置文件里修改
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制
修改好之后,重啟服務(wù)
從服務(wù)器直接 ntpdate 主機(jī)IP 同步主機(jī)的即可
需要注意
客戶機(jī)要等幾分鐘再與新啟動(dòng)的 ntp 服務(wù)器進(jìn)行時(shí)間同步,否則會(huì)提示 no server suitable for synchronization found 錯(cuò)誤。
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制
客戶端同步時(shí)間
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制
將時(shí)間同步命令放入計(jì)劃任務(wù)內(nèi)每30分鐘執(zhí)行一次同步
systemctl restart crond ##重啟crond服務(wù)
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制

主服務(wù)器配置

vim /etc/my.cnf
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制
重啟服務(wù)然后登錄mysql
在里面輸入
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制

MySQL數(shù)據(jù)庫(kù)——主從復(fù)制

從服務(wù)器配置

MySQL數(shù)據(jù)庫(kù)——主從復(fù)制

MySQL數(shù)據(jù)庫(kù)——主從復(fù)制
修改配置文件后重啟服務(wù)器
然后登錄mysql配置同步
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制
start slave; #啟動(dòng)同步,如有報(bào)錯(cuò)執(zhí)行 reset slave;
MySQL數(shù)據(jù)庫(kù)——主從復(fù)制

show slave status\G #查看 Slave 狀態(tài)

MySQL數(shù)據(jù)庫(kù)——主從復(fù)制

MySQL數(shù)據(jù)庫(kù)——主從復(fù)制
#一般 Slave_IO_Running: No 的可能性:
1、網(wǎng)絡(luò)不通
2、my.cnf配置有問(wèn)題
3、密碼、file文件名、pos偏移量不對(duì)
4、防火墻沒(méi)有關(guān)閉文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-503279.html

到了這里,關(guān)于MySQL數(shù)據(jù)庫(kù)——主從復(fù)制的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【數(shù)據(jù)庫(kù)七】MySQL主從復(fù)制與讀寫(xiě)分離

    【數(shù)據(jù)庫(kù)七】MySQL主從復(fù)制與讀寫(xiě)分離

    讀寫(xiě)分離,基本的原理是讓主數(shù)據(jù)庫(kù)處理事務(wù)性增、改、刪操作 (insert、update、delete),而 從數(shù)據(jù)庫(kù)處理select查詢操作 。 數(shù)據(jù)庫(kù)復(fù)制被用來(lái)把事務(wù)性操作導(dǎo)致的變更同步到集群中的從數(shù)據(jù)庫(kù) 。 因?yàn)閿?shù)據(jù)庫(kù)的“寫(xiě)”(寫(xiě)10000條數(shù)據(jù)可能要3分鐘)操作是比較耗時(shí)的。 但是數(shù)據(jù)

    2024年02月11日
    瀏覽(21)
  • Mysql數(shù)據(jù)庫(kù)--實(shí)現(xiàn)主從復(fù)制搭建與同步

    Mysql數(shù)據(jù)庫(kù)--實(shí)現(xiàn)主從復(fù)制搭建與同步

    一般數(shù)據(jù)庫(kù)都是讀取壓力大于寫(xiě)數(shù)據(jù)壓力,主從復(fù)制即為了實(shí)現(xiàn)數(shù)據(jù)庫(kù)的負(fù)載均衡和讀寫(xiě)分離。通過(guò)將Mysql的某一臺(tái)主機(jī)的數(shù)據(jù)復(fù)制到其它主機(jī)(slaves)上,主服務(wù)器只負(fù)責(zé)寫(xiě),而從服務(wù)器只負(fù)責(zé)讀。 如生產(chǎn)環(huán)境中,使用redis數(shù)據(jù)庫(kù)作為緩存數(shù)據(jù)庫(kù),用戶訪問(wèn)業(yè)務(wù)數(shù)據(jù)時(shí),先

    2024年02月08日
    瀏覽(95)
  • 實(shí)現(xiàn)?Mysql數(shù)據(jù)庫(kù)主從復(fù)制搭建與同步

    實(shí)現(xiàn)?Mysql數(shù)據(jù)庫(kù)主從復(fù)制搭建與同步

    一般數(shù)據(jù)庫(kù)都是讀取壓力大于寫(xiě)數(shù)據(jù)壓力,主從復(fù)制即為了實(shí)現(xiàn)數(shù)據(jù)庫(kù)的負(fù)載均衡和讀寫(xiě)分離。通過(guò)將Mysql的某一臺(tái)主機(jī)的數(shù)據(jù)復(fù)制到其它主機(jī)(slaves)上,主服務(wù)器只負(fù)責(zé)寫(xiě),而從服務(wù)器只負(fù)責(zé)讀。 如生產(chǎn)環(huán)境中,使用redis數(shù)據(jù)庫(kù)作為緩存數(shù)據(jù)庫(kù),用戶訪問(wèn)業(yè)務(wù)數(shù)據(jù)時(shí),先

    2024年02月10日
    瀏覽(93)
  • 第90講:MySQL數(shù)據(jù)庫(kù)主從復(fù)制集群原理概念以及搭建流程

    第90講:MySQL數(shù)據(jù)庫(kù)主從復(fù)制集群原理概念以及搭建流程

    1.1.什么是主從復(fù)制集群 主從復(fù)制是指將主數(shù)據(jù)庫(kù)的 DDL 和 DML 操作通過(guò)二進(jìn)制日志傳到從庫(kù)服務(wù)器中,然后在從庫(kù)上對(duì)這些日志重新執(zhí)行(也叫重做),從而使得從庫(kù)和主庫(kù)的數(shù)據(jù)保持同步。 MySQL支持一臺(tái)主庫(kù)同時(shí)向多臺(tái)從庫(kù)進(jìn)行復(fù)制, 從庫(kù)同時(shí)也可以作為其他從服務(wù)器的主

    2024年01月20日
    瀏覽(19)
  • MySQL高級(jí)第十七篇:數(shù)據(jù)庫(kù)主從復(fù)制原理及保證數(shù)據(jù)一致性

    MySQL高級(jí)第十七篇:數(shù)據(jù)庫(kù)主從復(fù)制原理及保證數(shù)據(jù)一致性

    在實(shí)際工作中,我們常常將Redis作為緩存與MySQL來(lái)配合使用,當(dāng)有請(qǐng)求的時(shí)候,首先會(huì)從緩存中進(jìn)行查找,如果存在就直接取出,如果不存在再訪問(wèn)數(shù)據(jù)庫(kù)。 這樣就提升了讀取的效率,也減少了對(duì)后端數(shù)據(jù)庫(kù)的訪問(wèn)壓力。 此外,對(duì)于一般數(shù)據(jù)庫(kù)應(yīng)用而言,都是 讀多寫(xiě)少 的,

    2023年04月25日
    瀏覽(26)
  • 【數(shù)據(jù)庫(kù)】詳解數(shù)據(jù)庫(kù)架構(gòu)優(yōu)化思路(兩主架構(gòu)、主從復(fù)制、冷熱分離)

    【數(shù)據(jù)庫(kù)】詳解數(shù)據(jù)庫(kù)架構(gòu)優(yōu)化思路(兩主架構(gòu)、主從復(fù)制、冷熱分離)

    對(duì)數(shù)據(jù)庫(kù)架構(gòu)進(jìn)行優(yōu)化是為了提高數(shù)據(jù)庫(kù)系統(tǒng)的性能、可擴(kuò)展性、穩(wěn)定性和可維護(hù)性。MySQL官方說(shuō):?jiǎn)伪?000萬(wàn)數(shù)據(jù),性能就達(dá)到瓶頸了,為了保證查詢效率需要讓每張表的大小得到控制。 再來(lái)說(shuō),為什么要提高查詢效率呢? 除了普通的用戶查詢操作,增、刪、改操作都包含

    2024年02月11日
    瀏覽(22)
  • 數(shù)據(jù)庫(kù)應(yīng)用:Redis主從復(fù)制、哨兵、cluster集群

    數(shù)據(jù)庫(kù)應(yīng)用:Redis主從復(fù)制、哨兵、cluster集群

    目錄 一、理論 1.Redis高可用 2.Redis主從復(fù)制 3.部署Redis主從復(fù)制 4.Redis哨兵模式 5.部署Redis哨兵模式 6.Redis集群模式 7.部署Redis集群 二、實(shí)驗(yàn) 1.部署Redis主從復(fù)制 2.部署Redis哨兵模式 3.部署Redis集群 三、問(wèn)題 1.開(kāi)啟Redis群集失敗 四、總結(jié) (1)概念 在web服務(wù)器中,高可用是指服務(wù)

    2024年02月15日
    瀏覽(28)
  • Redis數(shù)據(jù)庫(kù) | 發(fā)布訂閱、主從復(fù)制、哨兵模式、緩存雪崩

    Redis數(shù)據(jù)庫(kù) | 發(fā)布訂閱、主從復(fù)制、哨兵模式、緩存雪崩

    ??wei_shuo的個(gè)人主頁(yè) ??wei_shuo的學(xué)習(xí)社區(qū) ??Hello World ! Redis 發(fā)布訂閱 (pub/sub) 是一種消息通信模式:發(fā)送者 (pub) 發(fā)送消息,訂閱者 (sub) 接收消息 Redis 客戶端可以訂閱任意數(shù)量的頻道 Redis主從復(fù)制是指在Redis中設(shè)置一個(gè)主節(jié)點(diǎn)(Master)和一個(gè)或多個(gè)從節(jié)點(diǎn)(Slave),

    2024年02月15日
    瀏覽(24)
  • MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn)主從同步

    MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn)主從同步

    安裝MySQL數(shù)據(jù)庫(kù)8.0.32 今天來(lái)學(xué)習(xí)數(shù)據(jù)庫(kù)主從同步的原理及過(guò)程,數(shù)據(jù)庫(kù)主要是用來(lái)存儲(chǔ)WEB數(shù)據(jù),在企業(yè)當(dāng)中是極為重要的,下面一起來(lái)看下。 MySQL主從復(fù)制在中小企業(yè),大型企業(yè)中廣泛使用,MySQL主從復(fù)制的目的是實(shí)現(xiàn)數(shù)據(jù)庫(kù)冗余備份,將master數(shù)據(jù)庫(kù)數(shù)據(jù)定時(shí)同步到slave數(shù)據(jù)庫(kù)

    2024年02月02日
    瀏覽(85)
  • Mysql主從數(shù)據(jù)庫(kù)搭建(一主兩從)

    Mysql主從數(shù)據(jù)庫(kù)搭建(一主兩從)

    目錄 1、服務(wù)器規(guī)劃 2、主從同步流程 3、主從搭建 3.1、master節(jié)點(diǎn)上配置文件修改 3.2、master節(jié)點(diǎn)創(chuàng)建同步用戶和權(quán)限 3.3、slave1和slave2節(jié)點(diǎn)配置文件修改 3.4、slave1和slave2節(jié)點(diǎn)執(zhí)行同步任務(wù) 3.5、解決虛擬機(jī)克隆導(dǎo)致mysql所有服務(wù)器uuid都一樣的問(wèn)題 4、bin-log相關(guān)說(shuō)明 5、主從同步注

    2024年02月11日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包