MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例
【背景】
對(duì)一套數(shù)據(jù)庫(kù)集群進(jìn)行5.5升級(jí)到5.6之后,alter.log 報(bào)warning異常。
2015-02-03 15:44:51 19633 [Warning] Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the \'START SLAVE Syntax\' in the MySQL Manual for more information.
數(shù)據(jù)庫(kù)業(yè)務(wù)壓力 qps 1 tps 幾乎為0 4-10 秒或者更久會(huì)有寫入操作。
【分析】
1 主從復(fù)制信息 主機(jī)地址,端口,復(fù)制用戶,binlog 文件位置等信息是存儲(chǔ)在master.info中的, 5.6 版本在安全性上做了很多改善,不建議在執(zhí)行change master的時(shí)候指定密碼。如果在搭建主從時(shí)制定密碼,5.6 MySQL 會(huì)提示上述warning信息。這也是該集群在5.5版本時(shí)不報(bào)錯(cuò)的原因。
2 MySQL Replication的重連機(jī)制
在一個(gè)已經(jīng)建立主從復(fù)制關(guān)系的系統(tǒng)里面,正常情況下,由從庫(kù)向主庫(kù)發(fā)送一個(gè) COM_BINLOG_DUMP 命令后,主庫(kù)有新的binlog event,會(huì)向備庫(kù)發(fā)送binlog。但是由于網(wǎng)絡(luò)故障或者其他原因?qū)е轮鲙?kù)與從庫(kù)的連接斷開或者主庫(kù)長(zhǎng)時(shí)間沒有向從庫(kù)發(fā)送binlog。例如該例子中數(shù)據(jù)庫(kù)集群 10s 左右還沒有寫入的情況,超過slave_net_timeout設(shè)置的4s ,從庫(kù)會(huì)向主庫(kù)發(fā)起重連請(qǐng)求。5.6 版本slave 發(fā)起重連請(qǐng)求時(shí),MySQL都會(huì)判斷有沒有用明文的用戶名密碼,如果有則發(fā)出上述信息到error.log。
【解決方法】
在本案例中可以嘗試將slave_net_timeout 調(diào)整大一些 設(shè)置為25 。slave_net_timeout是設(shè)置在多少秒沒收到主庫(kù)傳來(lái)的Binary Logs events之后,從庫(kù)認(rèn)為網(wǎng)絡(luò)超時(shí),Slave IO線程會(huì)重新連接主庫(kù)。該參數(shù)的默認(rèn)值是3600s ,然而時(shí)間太久會(huì)造成數(shù)據(jù)庫(kù)延遲或者主備庫(kù)直接的鏈接異常不能及時(shí)發(fā)現(xiàn)。將 slave_net_timeout 設(shè)得很短會(huì)造成 Master 沒有數(shù)據(jù)更新時(shí)頻繁重連。一般線上設(shè)置為5s 。
set global slave_net_timeout = 25
當(dāng)然也可以和業(yè)務(wù)方溝通,對(duì)于幾乎沒有訪問量的業(yè)務(wù)線進(jìn)行下線 ,為公司節(jié)省資源。
- MySQL Cluster集群的初級(jí)部署教程
- MySQL的集群配置的基本命令使用及一次操作過程實(shí)錄
- 詳解MySQL集群搭建
- 集群運(yùn)維自動(dòng)化工具ansible使用playbook安裝mysql
- mysql ndb集群備份數(shù)據(jù)庫(kù)和還原數(shù)據(jù)庫(kù)的方法
- 具有負(fù)載均衡功能的MySQL服務(wù)器集群部署及實(shí)現(xiàn)
- nginx+apache+mysql+php+memcached+squid搭建集群web環(huán)境
- 從零開始搭建MySQL MMM架構(gòu)
- mysql數(shù)據(jù)庫(kù)應(yīng)付大流量網(wǎng)站的的3種架構(gòu)擴(kuò)展方式介紹
- 詳解mysql集群:一主多從架構(gòu)實(shí)現(xiàn)
相關(guān)文章
mysql group_concat 實(shí)現(xiàn)把分組字段寫成一行的方法示例
這篇文章主要介紹了mysql group_concat實(shí)現(xiàn)把分組字段寫成一行的方法,結(jié)合實(shí)例形式分析了group_concat函數(shù)的功能、查詢用法及相關(guān)操作技巧,需要的朋友可以參考下2019-10-10window環(huán)境下使用VScode連接虛擬機(jī)MySQL方法
這篇文章主要介紹了window環(huán)境下使用VScode連接虛擬機(jī)MySQL方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04MySql獲取某個(gè)字段存在于哪個(gè)表的sql語(yǔ)句
本文為大家詳細(xì)介紹下通過MySql查詢某個(gè)字段所在表是哪一個(gè),具體的sql語(yǔ)句如下,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-07-07MySQL ERROR 2013 (HY000)錯(cuò)誤解決方法
這篇文章主要介紹了MySQL ERROR 2013 (HY000)錯(cuò)誤解決方法,錯(cuò)誤提示全文ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104,需要的朋友可以參考下2015-01-01