欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫主從復(fù)制與讀寫分離

 更新時間:2021年12月27日 09:37:21   作者:ge_bq  
大家好,本篇文章主要講的是MySQL數(shù)據(jù)庫主從復(fù)制與讀寫分離,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

一.主從復(fù)制

???????主從復(fù)制:在實際的生產(chǎn)中,為了解決Mysql的單點故障以及提高MySQL的整體服務(wù)性能,一般都會采用主從復(fù)制。即:對數(shù)據(jù)庫中的數(shù)據(jù)、語句做備份。

在這里插入圖片描述

主從復(fù)制三線程

???????Mysql的主從復(fù)制中主要有三個線程:master(binlog dump thread)、slave(I/O thread 、SQL thread),Master一條線程和Slave中的兩條線程。

主從復(fù)制過程

主從復(fù)制的過程:

master主要負責(zé)Master庫中有數(shù)據(jù)更新的時候,會按照binlog格式,將更新的事件類型寫入到主庫的binlog文件中。Master會創(chuàng)建log dump線程通知Slave主庫中存在數(shù)據(jù)更新。

I/O thread線程在Slave中創(chuàng)建,該線程用于請求Master,Master會返回binlog的名稱以及當前數(shù)據(jù)更新的位置、binlog文件位置的副本。然后,將binlog保存在 relay log(中繼日志) 中,中繼日志也是記錄數(shù)據(jù)更新的信息。

SQL線程也是在Slave中創(chuàng)建的,當Slave檢測到中繼日志有更新,會將更新的內(nèi)容同步到Slave數(shù)據(jù)庫中,保證了主從的數(shù)據(jù)的同步。

主從復(fù)制策略

主從復(fù)制的策略:

同步策略:Master會等待所有的Slave都回應(yīng)后才會提交,這個主從的同步 的性能會嚴重的影響。

半同步策略:Master至少會等待一個Slave回應(yīng)后提交。

異步策略:Master不用等待Slave回應(yīng)就可以提交。

延遲策略:Slave要落后于Master指定的時間。
對于不同的業(yè)務(wù)需求,有不同的策略方案,但是一般都會采用最終一致性,不會要求強一致性,強一致性會嚴重影響性能。

主從復(fù)制高延遲

???????主從復(fù)制高延遲的原因

master 服務(wù)器高并發(fā),形成大量事務(wù)

網(wǎng)絡(luò)延遲

主從硬件設(shè)備導(dǎo)致(cpu 主頻、內(nèi)存 io、硬盤 io)

本來就不是同步復(fù)制、而是異步復(fù)制

???????主從復(fù)制高延遲的解決辦法

從庫優(yōu)化 Mysql 參數(shù)。比如增大 innodb_buffer_pool_size,讓更多操作在 - mysql 內(nèi)存中完成,減少磁盤操作

從庫使用高性能主機(高性能 cpu、大內(nèi)存),避免使用虛擬云主機,使用物理主機,提升 I/O 吞吐量

從庫使用 SSD 磁盤

網(wǎng)絡(luò)優(yōu)化,避免跨機房實現(xiàn)同步

二.讀寫分離

在這里插入圖片描述

讀寫分離概念

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

讀寫分離原因與場景

???????讀寫分離原因:讀寫量很大,為了提升數(shù)據(jù)庫讀寫性能,將讀寫進行分離;多機房下如果寫少讀多,同時基于數(shù)據(jù)一致性考慮,只有一個主庫存入所有的數(shù)據(jù)寫入,本地再做從庫提供讀取,減少多機房間直接讀取帶來的時延。

???????讀寫分離使用場景:程序使用數(shù)據(jù)庫較多時,而更新少,查詢多的情況下會考慮使用。利用數(shù)據(jù)庫主從同步,再通過讀寫分離可以分擔(dān)數(shù)據(jù)庫壓力,提高性能。

總結(jié)

到此這篇關(guān)于MySQL數(shù)據(jù)庫主從復(fù)制與讀寫分離的文章就介紹到這了,更多相關(guān)MySQL主從復(fù)制與讀寫分離內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JSP連接MySQL數(shù)據(jù)庫詳細步驟

    JSP連接MySQL數(shù)據(jù)庫詳細步驟

    這篇文章主要介紹了JSP連接MySQL數(shù)據(jù)庫詳細步驟,文章內(nèi)容詳細全面,且通過實例進行講解,容易理解,需要的朋友可以參考下
    2023-01-01
  • 詳解mysql 使用left join添加where條件的問題分析

    詳解mysql 使用left join添加where條件的問題分析

    這篇文章主要介紹了詳解mysql 使用left join添加where條件的問題分析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 發(fā)現(xiàn)mysql一個用法,比較有用

    發(fā)現(xiàn)mysql一個用法,比較有用

    mysql下用select實現(xiàn)列運算
    2008-02-02
  • 一個mysql死鎖場景實例分析

    一個mysql死鎖場景實例分析

    這篇文章主要給大家實例分析了一個mysql死鎖場景的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • MYSQL row_number()與over()函數(shù)用法詳解

    MYSQL row_number()與over()函數(shù)用法詳解

    這篇文章主要介紹了MYSQL row_number()與over()函數(shù)用法詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Mysql數(shù)據(jù)遷徙方法工具解析

    Mysql數(shù)據(jù)遷徙方法工具解析

    這篇文章主要介紹了mysql數(shù)據(jù)遷徙方法工具解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • insert...on?duplicate?key?update語法詳解

    insert...on?duplicate?key?update語法詳解

    本文主要介紹了insert...on?duplicate?key?update語法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 詳解MySQL 用戶權(quán)限管理

    詳解MySQL 用戶權(quán)限管理

    這篇文章主要介紹了MySQL 用戶權(quán)限管理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-04-04
  • mysql數(shù)據(jù)表的基本操作之表結(jié)構(gòu)操作,字段操作實例分析

    mysql數(shù)據(jù)表的基本操作之表結(jié)構(gòu)操作,字段操作實例分析

    這篇文章主要介紹了mysql數(shù)據(jù)表的基本操作之表結(jié)構(gòu)操作,字段操作,結(jié)合實例形式分析了mysql表結(jié)構(gòu)操作,字段操作常見增刪改查實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2020-04-04
  • sql查詢語句教程之插入、更新和刪除數(shù)據(jù)實例

    sql查詢語句教程之插入、更新和刪除數(shù)據(jù)實例

    如果要在程序運行過程中操作數(shù)據(jù)庫中的數(shù)據(jù),那得先學(xué)會使用SQL語句,下面這篇文章主要給大家介紹了關(guān)于sql查詢語句教程之插入、更新和刪除數(shù)據(jù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06

最新評論