怎么備份遠(yuǎn)程mysql數(shù)據(jù)庫(kù)的腳本文件
網(wǎng)站數(shù)據(jù)對(duì)我們對(duì)站長(zhǎng)來(lái)說(shuō)都是最寶貴的,備份好網(wǎng)站數(shù)據(jù)。這樣可使我們數(shù)據(jù)庫(kù)崩潰造成的損失大大降低,那么怎么備份遠(yuǎn)程mysql數(shù)據(jù)庫(kù)的腳本文件?下面跟著學(xué)習(xí)啦小編一起來(lái)了解一下吧。
怎么備份遠(yuǎn)程mysql數(shù)據(jù)庫(kù)的腳本文件
在MySQL中進(jìn)行數(shù)據(jù)備份的方法有兩種:
1. mysqlhotcopy
這個(gè)命令會(huì)在拷貝文件之前會(huì)把表鎖住,并把數(shù)據(jù)同步到數(shù)據(jù)文件中,以避免拷貝到不完整的數(shù)據(jù)文件,是最安全快捷的備份方法。
命令的使用方法是:
mysqlhotcopy -u root -p<rootpass> db1 db2 … dbn <output_dir>
如果需要備份全部數(shù)據(jù)庫(kù),可以加上–regexp=”.*”參數(shù)。
Mysqlhotcopy命令可自動(dòng)完成數(shù)據(jù)鎖定工作,備份時(shí)不用關(guān)閉服務(wù)器。它還可以刷新日志,使備份文件和日志文件的檢查點(diǎn)能保持同步。
2. mysqldump
這個(gè)命令是用來(lái)把數(shù)據(jù)庫(kù)倒成sql文件的,是非常古老的命令了。
命令的使用方法是:
mysqldump -u root -p<rootpass> –hex-blob db1 > db1.sql
加上–hex-blob參數(shù)以后,blob數(shù)據(jù)會(huì)被類似BASE64的方法轉(zhuǎn)換為文本來(lái)存儲(chǔ)在sql文件中,就不會(huì)導(dǎo)致sql文件格式問(wèn)題了。經(jīng)過(guò)測(cè)試,通過(guò)這種方法備份的blob數(shù)據(jù)再重新恢復(fù)回去能夠完全正確。
如果要備份所有的數(shù)據(jù)庫(kù),可以加上–all-databases參數(shù)。
用mysqldump命令還可直接把數(shù)據(jù)庫(kù)轉(zhuǎn)移到另外一臺(tái)服務(wù)器上,不用生成備份文件。重復(fù)執(zhí)行可定期更新遠(yuǎn)程數(shù)據(jù)庫(kù)。
% mysqladmin -h remote_host create testdb
% mysqldump –opt testdb | mysql -h remote_host testdb
另外還可通過(guò)ssh遠(yuǎn)程調(diào)用服務(wù)器上的程序,如:
% ssh remote_host mysqladmin create testdb
% mysqldump –opt testdb | ssh remote_host mysql testdb
2種數(shù)據(jù)庫(kù)備份方式的優(yōu)缺點(diǎn):
使用mysqlhotcopy等程序備份速度快,因?yàn)樗苯訉?duì)系統(tǒng)文件進(jìn)行操作,但是需人為協(xié)調(diào)數(shù)據(jù)庫(kù)數(shù)據(jù)的備份前后一致性。
mysqldump程序備份數(shù)據(jù)庫(kù)較慢,但它生成的文本文件便于移植。
對(duì)于沒(méi)有使用InnoDB的數(shù)據(jù)庫(kù),用mysqlhotcopy是最好的方法;否則必須采用mysqldump。不論如何,直接拷貝文件的備份方法應(yīng)該被廢棄了。
看過(guò)“ 怎么備份遠(yuǎn)程mysql數(shù)據(jù)庫(kù)的腳本文件 ”的人還看了:
1.Linux系統(tǒng)虛擬主機(jī)安全怎么設(shè)置
2.sqlserver多數(shù)據(jù)庫(kù)自動(dòng)備份系統(tǒng)