MySQL slave_net_timeout參數解決的一個集群問題案例_MySQL教程
推薦:使用innodb_force_recovery解決MySQL崩潰無法重啟問題這篇文章主要介紹了使用innodb_force_recovery解決MySQL崩潰無法重啟問題,這只一個成功案例,并不是萬能的解決方法,需要酌情考慮,需要的朋友可以參考下 一 背景 某一創業的朋友的主機因為磁盤陣列損壞機器crash,重啟MySQL服務時 報如下錯誤: 代碼如下: InnoDB: Reading
這篇文章主要介紹了MySQL slave_net_timeout參數解決的一個集群問題案例,問題日志請見正文,本文使用slave_net_timeout參數解決了這個問題,需要的朋友可以參考下
【背景】
對一套數據庫集群進行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.
數據庫業務壓力 qps 1 tps 幾乎為0 4-10 秒或者更久會有寫入操作。
【分析】
1 主從復制信息 主機地址,端口,復制用戶,binlog 文件位置等信息是存儲在master.info中的, 5.6 版本在安全性上做了很多改善,不建議在執行change master的時候指定密碼。如果在搭建主從時制定密碼,5.6 MySQL 會提示上述warning信息。這也是該集群在5.5版本時不報錯的原因。
2 MySQL Replication的重連機制
在一個已經建立主從復制關系的系統里面,正常情況下,由從庫向主庫發送一個 COM_BINLOG_DUMP 命令后,主庫有新的binlog event,會向備庫發送binlog。但是由于網絡故障或者其他原因導致主庫與從庫的連接斷開或者主庫長時間沒有向從庫發送binlog。例如該例子中數據庫集群 10s 左右還沒有寫入的情況,超過slave_net_timeout設置的4s ,從庫會向主庫發起重連請求。5.6 版本slave 發起重連請求時,MySQL都會判斷有沒有用明文的用戶名密碼,如果有則發出上述信息到error.log。
【解決方法】
在本案例中可以嘗試將slave_net_timeout 調整大一些 設置為25 。slave_net_timeout是設置在多少秒沒收到主庫傳來的Binary Logs events之后,從庫認為網絡超時,Slave IO線程會重新連接主庫。該參數的默認值是3600s ,然而時間太久會造成數據庫延遲或者主備庫直接的鏈接異常不能及時發現。將 slave_net_timeout 設得很短會造成 Master 沒有數據更新時頻繁重連。一般線上設置為5s 。
復制代碼 代碼如下:
set global slave_net_timeout = 25
當然也可以和業務方溝通,對于幾乎沒有訪問量的業務線進行下線 ,為公司節省資源
分享:MySQL replace into 語句淺析(二)這篇文章主要介紹了MySQL replace into 語句淺析(二),本文著重給出了幾個特殊案例分析,需要的朋友可以參考下 一 介紹 上一篇文章介紹了replace into的基本原理。本章內容通過一個例子說明 replace into 帶來的潛在的數據質量風險,當涉及replace into操作的表含有自增主
- 防止服務器宕機時MySQL數據丟失的幾種方案
- MySQL Semisynchronous Replication介紹
- MySQL延遲關聯性能優化方法
- MySQL 5.7增強版Semisync Replication性能優化
- MySQL Index Condition Pushdown(ICP)性能優化方法實例
- MySQL order by性能優化方法實例
- 使用innodb_force_recovery解決MySQL崩潰無法重啟問題
- MySQL replace into 語句淺析(二)
- MySQL replace into 語句淺析(一)
- MySQL定期自動刪除表
- MySQL中的CONCAT函數使用教程
- MySQL中的RAND()函數使用詳解
- 相關鏈接:
- 教程說明:
MySQL教程-MySQL slave_net_timeout參數解決的一個集群問題案例
。