程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 如何備份MySQL數據庫

如何備份MySQL數據庫

編輯:關於MYSQL數據庫

在MySQL中進行數據備份的方法有兩種:

1. mysqlhotcopy

這個命令會在拷貝文件之前會把表鎖住,並把數據同步到數據文件中,以避免拷貝到不完整的數據文件,是最安全快捷的備份方法。

命令的使用方法是:

mysqlhotcopy -u root -p<rootpass> db1 db2 … dbn <output_dir>

如果需要備份全部數據庫,可以加上–regexp=”.*”參數。

Mysqlhotcopy命令可自動完成數據鎖定工作,備份時不用關閉服務器。它還可以刷新日志,使備份文件和日志文件的檢查點能保持同步。

2. mysqldump

這個命令是用來把數據庫倒成sql文件的,是非常古老的命令了。

命令的使用方法是:

mysqldump -u root -p<rootpass> –hex-blob db1 > db1.sql

加上–hex-blob參數以後,blob數據會被類似BASE64的方法轉換為文本來存儲在sql文件中,就不會導致sql文件格式問題了。經過測試,通過這種方法備份的blob數據再重新恢復回去能夠完全正確。

如果要備份所有的數據庫,可以加上–all-databases參數。

用mysqldump命令還可直接把數據庫轉移到另外一台服務器上,不用生成備份文件。重復執行可定期更新遠程數據庫。

% mysqladmin -h remote_host create testdb

% mysqldump –opt testdb | mysql -h remote_host testdb

另外還可通過ssh遠程調用服務器上的程序,如:

% ssh remote_host mysqladmin create testdb

% mysqldump –opt testdb | ssh remote_host mysql testdb

2種數據庫備份方式的優缺點:

使用mysqlhotcopy等程序備份速度快,因為它直接對系統文件進行操作,但是需人為協調數據庫數據的備份前後一致性。

mysqldump程序備份數據庫較慢,但它生成的文本文件便於移植。

對於沒有使用InnoDB的數據庫,用mysqlhotcopy是最好的方法;否則必須采用mysqldump。不論如何,直接拷貝文件的備份方法應該被廢棄了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved