日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql从库夯住_MySQL从库维护经验分享

發(fā)布時間:2023/12/4 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql从库夯住_MySQL从库维护经验分享 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言:

MySQL 主從架構(gòu)應該是最常用的一組架構(gòu)了。從庫會實時同步主庫傳輸來的數(shù)據(jù),一般從庫可以作為備用節(jié)點或作查詢使用。其實不只是主庫需要多關注,從庫有時候也要經(jīng)常維護,本篇文章將會分享幾點從庫維護經(jīng)驗,一起來學習吧。

1.主從復制建議采用 GTID 模式

GTID 即全局事務 ID(Global Transaction ID),GTID 實際上是由 server_uuid:transaction_id 組成的。其中 server_uuid 是一個 MySQL 實例的唯一標識, transaction_id 代表了該實例上已經(jīng)提交的事務數(shù)量,并且隨著事務提交單調(diào)遞增,所以 GTID 能夠保證每個 MySQL 實例事務的執(zhí)行(不會重復執(zhí)行同一個事務,并且會補全沒有執(zhí)行的事務)。

基于 GTID 的主從復制可以取代過去通過 binlog 文件偏移量定位復制位置的傳統(tǒng)方式。特別是對于一主多從的架構(gòu),借助GTID,在發(fā)生主備切換的情況下,MySQL 的其它 Slave 可以自動在新主上找到正確的復制位置,這大大簡化了復雜復制拓撲下集群的維護,也減少了人為設置復制位置發(fā)生誤操作的風險。另外,基于 GTID 的復制可以忽略已經(jīng)執(zhí)行過的事務,減少了數(shù)據(jù)發(fā)生不一致的風險。

2.建議從庫參數(shù)盡量和主庫保持一致

為保證主從庫數(shù)據(jù)一致性,建議從庫版本與主庫一致,相關參數(shù)盡量和主庫保持一致。比如字符集、默認存儲引擎、sql_mode 這類參數(shù)要設置一樣。特別是一些不可動態(tài)修改的參數(shù),建議提前寫入配置文件并和主庫一致。

3.備份可在從庫端進行

MySQL 全量備份會對服務器造成一定壓力,有時也會短暫持有全局鎖。特別是數(shù)據(jù)量大,業(yè)務繁忙的數(shù)據(jù)庫,全量備份可能會對業(yè)務產(chǎn)生影響。建議將備份腳本部署在從庫服務器上,全量備份可以放在從庫端進行,這樣能減少備份過程中對于主庫業(yè)務的影響。

4.從庫建議設為只讀

對于數(shù)據(jù)庫讀寫狀態(tài),主要靠 read_only 全局參數(shù)來設定,默認情況下,數(shù)據(jù)庫是用于讀寫操作的,所以 read_only 參數(shù)是 0 或 false 狀態(tài)。這時候不論是本地用戶還是遠程訪問數(shù)據(jù)庫的用戶,只要有權(quán)限都可以進行讀寫操作。

為避免從庫發(fā)生手動更新操作,建議將從庫設置為只讀,即將 read_only 參數(shù)設置為1。 read_only=1 只讀模式,不會影響從庫同步復制的功能,從庫仍然會讀取 master 上的日志,并且在 slave 端應用日志,保證主從數(shù)據(jù)庫同步一致。從庫設為只讀會限制不具有 super 權(quán)限的用戶進行數(shù)據(jù)修改操作,普通的應用用戶進行 insert 、 update 、 delete 等會產(chǎn)生數(shù)據(jù)變化的 DML 操作時,都會報出數(shù)據(jù)庫處于只讀模式。這樣能有效防止從庫發(fā)生更新操作。

此外,有條件的情況下,從庫可以承擔部分查詢工作。比如一些報表聚合分析查詢或者外部服務查詢都可以配置從庫查詢,減少對主庫的壓力。

5.注意從庫監(jiān)控及主從延遲

從庫雖然不如主庫那么重要,但平時也要多關注從庫監(jiān)控狀態(tài),不要等到需要使用從庫時才發(fā)現(xiàn)從庫早已和主庫不一致了。除去一些基礎監(jiān)控,從庫端要特別關注復制狀態(tài)及延遲狀態(tài)。

我們可以在從庫端執(zhí)行 show slave status; 來查詢從庫狀態(tài),其中主要關注的值有三個,分別為 Slave SQL Running , Slave IO Running 和 Seconds Behind Master 。這三個值分別代表 SQL 線程運行狀態(tài)、 IO 線程運行狀態(tài)、從庫延遲秒數(shù)。只有當 Slave SQL Running , Slave IO Running 為 yes ,然后 Seconds Behind Master 為0的時候,我們認為從庫運行正常。

總結(jié):

本篇文章主要分享了個人關于從庫維護的幾點經(jīng)驗,若有錯誤,還請指正。其他同學若有相關經(jīng)驗或建議,也可以留言分享討論哦。

總結(jié)

以上是生活随笔為你收集整理的mysql从库夯住_MySQL从库维护经验分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。