Mysql
創建實時 InnoDB MySQL 數據庫的本地副本的最快方法?
我們有一個
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上找到更多詳細資訊