Mysql

創建實時 InnoDB MySQL 數據庫的本地副本的最快方法?

  • April 15, 2014

我們有一個MySQL database (InnoDB)已經live Ubuntu 12.04 server變得非常大(25gb+)。

每個月左右,我們都需要將此數據庫複製到我們的開發機器上以在本地工作。

以前我們使用 導出數據庫MySQL Workbench,將文件下載.sql到我們的開發機器,然後再次使用MySQL Workbench. 問題是現在數據庫太大了,我們無法快速完成恢復,以便在周末完成!所以在星期一早上,我們有一個半導入的數據庫可以使用。

在這種情況下,其他人會怎麼做?

到目前為止,我能想到的唯一解決方案是恢復到未使用的機器,然後copying將數據恢復到我們所有的開發機器(其中 5 台)。這行得通嗎?

您可以使用Xtrabackup從實時 MySQL 進行備份。

Percona 為 Ubuntu 提供 deb 儲存庫。要為 Ubuntu 12.04 安裝 repo,請按照說明進行操作:

  • 安裝密鑰:
# apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
  • 添加源文件:
# cat /etc/apt/sources.list.d/percona.list 
deb http://repo.percona.com/apt precise main
deb-src http://repo.percona.com/apt precise main
  • 更新本地記憶體:
# apt-get update
  • 並安裝 xtrabackup:
# apt-get install xtrabackup

要獲取數據庫的副本,請執行以下命令:

   # innobackupex .

它將創建一個類似“2010-03-13_02-42-44”的目錄。將該目錄複製到開發框,應用重做日誌:

   # innobackupex --apply-log /data/backups/2010-03-13_02-42-44/ 

然後該目錄就可以使用了。將其複制回 MySQL datadir 並修復所有權:

   # cp /data/backups/2010-03-13_02-42-44/ /var/lib/mysql
   # chown -R mysql:mysql /var/lib/mysql

然後你可以啟動 MySQL。

您可以在http://www.percona.com/doc/percona-xtrabackup/2.1/how-tos.html上找到更多詳細資訊

引用自:https://dba.stackexchange.com/questions/63159