1

目前我的數據庫差不多20 GB大,仍在增長。 我正在使用mysqldump進行每日備份,它變得非常慢。 如此緩慢,在此期間新的連接疊起來,並最終導致這個錯誤:什麼時mysqldump變得非常慢

SQLSTATE[HY000] [1040] Too many connections 

(我能改善多數民衆贊成接受的連接的數量,但由於連接仍然只是凍結,不會做任何事情,等待備份完成,這將導致超時)

我已經讀了一些選項,以便提高速度,這就是我發現:

  1. 選項--quick(威爾可能有幫助)
  2. 選項--single-transaction(將防止表被鎖定,但可能導致數據庫變得不正確)
  3. 主從複製(可能是我能做的最好的事情,一個問題,我只有一個服務器可用)

主從複製真的聽起來像是最好的選擇,因爲我可以停止從機更新,進行備份,並讓它恢復同步。問題是我只有一臺機器可以使用。

我知道我可以在這臺服務器上設置多個mysql實例。問題是:這樣做明智嗎? 從站實際上只用於生成備份文件(該文件將被複制到網絡上的其他磁盤上),以便主站可以保持活動狀態。

+0

我不知道,但是,不能mysqldump做沒有交易的工作嗎?這可能不是最好的解決方案,但我想不出其他任何東西。 – 2012-07-29 23:47:46

+0

每日轉儲20GB?男性,2個月內超過TB? – emaillenin 2012-07-30 03:24:37

+0

單事務或表鎖定用於對InnoDb或MyIsam表進行一致轉儲。我不認爲這些選擇可能會加速傾銷。嘗試在[dbForge Studio for MySQL](http://www.devart.com/dbforge/mysql/studio/)的數據庫備份功能的幫助下備份數據庫,它使用一些線程進行轉儲。 – Devart 2012-07-30 07:24:18

回答

相關問題