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