MySQLDatabase Backup(3)
來源:互聯網
上載者:User
mysql|備份|資料|資料庫
2 使用直接拷貝資料庫的備份和拷貝方法
另一種不涉及mysqldump備份資料庫和表的方式是直接拷貝資料庫表檔案。典型地,這用諸如cp、tar或cpio公用程式。本文的例子使用cp。
當你使用一種直接備份方法時,你必須保證表不在被使用。如果伺服器在你則正在拷貝一個表時改變它,拷貝就失去意義。
保證你的拷貝完整性的最好方法是關閉伺服器,拷貝檔案,然後重啟伺服器。如果你不想關閉伺服器,要在執行表檢查的同時鎖定伺服器。如果伺服器在運行,相同的制約也適用於拷貝檔案,而且你應該使用相同的鎖定協議讓伺服器“安靜下來”。
假設伺服器關閉或你已經鎖定了你想拷貝的表,下列顯示如何將整個samp_dbDatabase Backup到一個備份目錄(DATADIR表示伺服器的資料目錄):
%cd DATADIR
%cp -r samp_db /usr/archive/mysql
單個表可以如下備份:
%cd DATADIR/samp_db
%cp member.* /usr/archive/mysql/samp_db
%cp score.* /usr/archive/mysql/samp_db
....
當你完成了備份時,你可以重啟伺服器(如果關閉了它)或釋放加在表上的鎖定(如果你讓伺服器運行)。
要用直接拷貝檔案把一個資料庫從一台機器拷貝到另一台機器上,只是將檔案拷貝到另一台伺服器主機的適當資料目錄下即可。要確保檔案是MyIASM格式或兩台機器有相同的硬體結構,否則你的資料庫在另一台主機上有奇怪的內容。你也應該保證在另一台機器上的伺服器在你正在安裝資料庫表時不訪問它們。
3 複製資料庫(Replicating Database)
複製(Replication)類似於拷貝資料庫到另一台伺服器上,但它的確切含義是即時地保證兩個資料庫的完全同步。這個功能將在3.23版中出現,而且還不很成熟,因此本文不作詳細介紹。