如何使用mysqldump備份MySQL數(shù)據(jù)庫(kù)

如何使用MySQLdump備份MySQL數(shù)據(jù)庫(kù),相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

10余年的禹城網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整禹城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“禹城網(wǎng)站設(shè)計(jì)”,“禹城網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

一、數(shù)據(jù)備份的重要性

工作中,如果意外刪除了重要的文件或者目錄的話,那結(jié)果可就慘了。尤其是當(dāng)誤刪除的數(shù)據(jù)涉及重要的客戶或者關(guān)鍵項(xiàng)目,并且這些數(shù)據(jù)無(wú)法輕易重新創(chuàng)建的時(shí)候,那滋味,不用我說(shuō)你也能想象得到。不巧的是,像這樣的數(shù)據(jù)在公司環(huán)境中隨處可見(jiàn),例如銷(xiāo)售記錄、客戶聯(lián)系方式,等等。

所以,在現(xiàn)實(shí)工作中,定期備份數(shù)據(jù)庫(kù)是一項(xiàng)極為最需關(guān)注的事的事情,否則就可能帶來(lái)災(zāi)難性的后果。當(dāng)我們使用MySQL時(shí),在數(shù)據(jù)庫(kù)備份方面有許多選擇的余地。本文將向讀者介紹如何使用MySQL的mysqldump來(lái)備份數(shù)據(jù)庫(kù)。

二、關(guān)于mysqldump

MySQL自身提供了許多命令行工具,例如mysql工具可以用來(lái)與MySQL的數(shù)據(jù)庫(kù)模式、數(shù)據(jù)、用戶和配置變量進(jìn)行交互,而mysqladmin工具則可以進(jìn)行各種管理任務(wù),還有就是下面將要介紹的mysqldump。此外還有很多,不過(guò)那超出了本文的討論范圍。工具mysqldump既可以用來(lái)備份數(shù)據(jù)庫(kù)模式,還可以用來(lái)備份數(shù)據(jù);利用它,我們不僅可以對(duì)一個(gè)服務(wù)器上的所有數(shù)據(jù)庫(kù)進(jìn)行地毯式的備份,同時(shí)我們還可以選擇性地備份某個(gè)數(shù)據(jù)庫(kù),甚至數(shù)據(jù)庫(kù)中指定的某些表。

當(dāng)在服務(wù)器上安裝MySQL的時(shí)候,應(yīng)修改系統(tǒng)路徑以便使全局命令行可以訪問(wèn)各個(gè)客戶程序。打開(kāi)終端窗口,并執(zhí)行下列命令:

%>mysqldump Usage: mysqldump [OPTIONS] database  [tables] OR mysqldump [OPTIONS]

--databases [OPTIONS] DB1 [ DB3...] OR mysqldump  [OPTIONS] --all-databases [OPTIONS]

For more options, use mysqldump --help

這里給出了使用mysqldump程序的方法。舉例來(lái)說(shuō),若要備份所有數(shù)據(jù)庫(kù)模式和數(shù)據(jù)至文件backup092210.sql的話,可以執(zhí)行如下所示的命令:

%>mysqldump -u root -p --all-databases >  backup092210.sql Enter password:

這里,為了能夠訪問(wèn)所有數(shù)據(jù)庫(kù),我們需要一個(gè)root權(quán)限,所以這里需要在提示符后面輸入相應(yīng)口令。此外,如果你是在開(kāi)發(fā)用的服務(wù)器上練習(xí)這些命令的話,不妨花一些時(shí)間看看備份文件的內(nèi)容。這時(shí)您會(huì)看到一系列的SQL語(yǔ)句,先是刪除各個(gè)表后重新創(chuàng)建的語(yǔ)句,然后是重新創(chuàng)建相關(guān)數(shù)據(jù)的語(yǔ)句。另外,由于上面的例子中我們對(duì)所有數(shù)據(jù)庫(kù)進(jìn)行備份,所以您還會(huì)發(fā)現(xiàn),備份文件將創(chuàng)建每個(gè)數(shù)據(jù)庫(kù)(如果它還沒(méi)有存在的話),然后通過(guò)USE命令切換到該數(shù)據(jù)庫(kù),進(jìn)而創(chuàng)建與該數(shù)據(jù)庫(kù)相關(guān)的表跟數(shù)據(jù)。

若要備份單個(gè)數(shù)據(jù)庫(kù),例如要備份名為wiki的數(shù)據(jù)庫(kù)到一個(gè)名為wiki-backup092210.sql的文件中,我們可以使用如下所示的命令:

%>mysqldump -u root -p wiki >  wiki-backup092210.sql Enter password:

最后,若要備份數(shù)據(jù)庫(kù)中名為users的表的話,例如要把它備份到名為wikiusers-backup092210.sql的文件中,我們可以使用如下所示的命令:

%>mysqldump -u root -p wiki users >  wikiusers-backup092210.sql Enter password:

三、調(diào)整備份內(nèi)容

有時(shí)候,我們可能只想備份數(shù)據(jù)庫(kù)的模式,或者只想備份數(shù)據(jù)庫(kù)的數(shù)據(jù)。為了備份數(shù)據(jù)庫(kù)模式,可以向mysqldump傳遞參數(shù)--no-data,如下所示:

%>mysqldump -u root -p --no-data wiki >  wiki-backup092210.sql

為了只備份數(shù)據(jù)庫(kù)的數(shù)據(jù),可以向mysqldump使用參數(shù)--no-create-info,如下所示:

%>mysqldump -u root -p --no-create-info wiki  > wiki-backup092210.sql

四、如何自動(dòng)進(jìn)行備份

對(duì)于前面所舉的例子,僅需要少量的擊鍵次數(shù)就能執(zhí)行mysqldump命令。然而,工作中要干的活還有很多,并且如果老是執(zhí)行這些命令的話,那么生活就會(huì)變得太單調(diào)了。因此,我們可以設(shè)法使這些過(guò)程自動(dòng)化,這時(shí)我們可以借助cron工具來(lái)達(dá)成我們的目標(biāo),這個(gè)工具在所有類UNIX操作系統(tǒng)上都能找到。為了自動(dòng)執(zhí)行備份任務(wù),我們需要新建一個(gè)正確命名的文件。例如nightly-backup.sh,具體命令如下所示:

#!/bin/sh mysqldump -uroot -psecret wiki >  /home/backup/sql/wiki-backup-`date +%m%d%Y`.sql

當(dāng)我們執(zhí)行這個(gè)腳本的時(shí)候,它會(huì)將wiki數(shù)據(jù)庫(kù)備份到一個(gè)按照備份時(shí)間命名的文件中,如wiki-backup-092210.sql。您需要注意一下這里的用戶名root和口令secret是如何傳遞給mysqldump的,即將它們分別放到選項(xiàng)-  u和- p后面。從安全的角度講,我們必須進(jìn)行正確的權(quán)限設(shè)置。

接下來(lái),我們將這個(gè)腳本提供交給cron,方法是使用crontab。為此,我們可以執(zhí)行如下所示的命令:

%>crontab -e

這將打開(kāi)當(dāng)前登錄用戶的crontab文件,如果該文件不存在的話就會(huì)自動(dòng)新建一個(gè)。在這個(gè)文件中,我們可以添加如下內(nèi)容,來(lái)確保每天上午3時(shí)運(yùn)行該備份腳本:

0 3 * * * /home/backup/scripts/nightly-backup.sh

如果您對(duì)crontab的語(yǔ)法很陌生的話,這里的參數(shù)可能讓您摸不著頭腦。這里前五個(gè)參數(shù)分別對(duì)應(yīng)于執(zhí)行腳本的時(shí)間,依次為分、時(shí)、日、月和星期幾。因此,要想在每星期二的4:45am執(zhí)行腳本的話,可以使用參數(shù)45  4 * * 3。

插入上面所示的一行內(nèi)容后,保存文件,那么我們的任務(wù)就會(huì)開(kāi)始按照給定時(shí)間調(diào)度執(zhí)行。  需要注意的是,第二天早上一定要查看相應(yīng)的目錄,看看事情是否一切正常。

五、其它備份方案

就像本文前面所說(shuō)的那樣,mysqldump只是MySQL眾多備份方案中的一個(gè)。此外,您還可以使用MySQL的二進(jìn)制日志文件進(jìn)行增量備份,或者使用從MySQL主服務(wù)器中將數(shù)據(jù)復(fù)制到從服務(wù)器中。

看完上述內(nèi)容,你們掌握如何使用mysqldump備份MySQL數(shù)據(jù)庫(kù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前文章:如何使用mysqldump備份MySQL數(shù)據(jù)庫(kù)
URL分享:http://bm7419.com/article2/pcepic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、虛擬主機(jī)、響應(yīng)式網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)、App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站