天天看點

深入淺出:對MySQL主從配置的一些總結

有很多朋友做了mysql主從也有一段時間了,但是有時候也走了不少彎路,時間也浪費了不少,主要問題是沒有查閱其他的主機配置的相關資料,而僅僅是看了配置文檔,下面是對主從配置的一些總結。

  做了mysql主從也有一段時間了,這兩天檢查磁盤空間情況,發現放資料庫的分區磁盤激增了40多G,一路檢視下來,發現配置好主從複制以來到現在的binlog就有40多G,原來根源出在這裡,檢視了一下my.cnf,看到binlog的 size是1G就做分割,但沒有看到删除的配置,在mysql裡show了一下variables:

  

深入淺出:對MySQL主從配置的一些總結

  查到了,原來原因在此:

深入淺出:對MySQL主從配置的一些總結

  這個預設是0,也就是logs不過期,這個是一個global的參數,是以需要執行

深入淺出:對MySQL主從配置的一些總結

  這樣8天前的log就會被删除了,如果有回複的需要,請做好備份工作,但這樣設定還不行,下次重新開機mysql了,配置又恢複預設了,是以需在my.cnf中設定,

深入淺出:對MySQL主從配置的一些總結

  這樣重新開機也不怕了。

  現在我在生産環境下的做法是将此時間設為0,然後備份mysql日志檔案,然後再手動清理此檔案。

  想要恢複資料庫以前的資料,執行

深入淺出:對MySQL主從配置的一些總結

  由于資料量很多,檢視起來很麻煩,光打開個檔案就要閃半天,是以應該适當删除部分可不用的日志。

  ①登入系統,/usr/bin/mysql

  使用mysql檢視日志:

深入淺出:對MySQL主從配置的一些總結

  ②删除bin-log(删除ablelee.000003之前的而沒有包含ablelee.000003):

深入淺出:對MySQL主從配置的一些總結

  ③查詢結果(現在隻有一條記錄了):

深入淺出:對MySQL主從配置的一些總結

  用于删除列于在指定的日志或日期之前的日志索引中的所有二進制日志。這些日志也會從記錄在日志索引檔案中的清單中被删除,這樣被給定的日志成為第一個。

  例如:

深入淺出:對MySQL主從配置的一些總結

現在手上蠻多項目的資料庫用的是MySQL,由于權限等原因,暫時不友善部署Nagios監控MySQL主從複制,是以我一般在從機上配置了SHELL腳本用來監控MySQL的主從狀态(設定為每十分鐘運作一次),并且每次出問題時将确切日期寫進錯誤日志,友善事後排查原因,腳本内容如下: 

深入淺出:對MySQL主從配置的一些總結

  建議每十分鐘運作一次。

深入淺出:對MySQL主從配置的一些總結

  記得在每台MySQL從機上配置設定一個yuhongchun的使用者,權限大些也沒關系,隻限定在本地運作,如下所示: 

深入淺出:對MySQL主從配置的一些總結

  腳本設計思路:

  ①此腳本應該能适應各種各樣不同的内外網環境,即IP不同的環境;

  ②讓腳本也順便監控下MySQL是否正常運作;

 <b> </b>innodb_buffer_pool_size的設定。

  大家都很清,磁盤I/O總會成為資料庫的性能瓶頸,這時候我們應該如何在生産環境下選擇合适的RAID級别呢?

  1、如果資料讀寫都很頻繁,可靠性要求也很高,最好選擇RAID10;

  2、如果資料讀很頻繁,寫相對較少,對可靠性有一定要求,可以選擇RAID5;

  3、如果資料讀寫都很頻繁,但可靠性要求不高,可以選擇RAID0。

  4、對于核心業務的資料庫主從同步,建議從機的備份時間往後延遲一段時間,通常的做法是延遲一天左右。

本文轉自 wws5201985 51CTO部落格,原文連結:http://blog.51cto.com/wws5201985/735613,如需轉載請自行聯系原作者