簡(jiǎn)單的MySQL備份與還原方法分享
為了安全起見(jiàn),需要經(jīng)常對(duì)數(shù)據(jù)庫(kù)作備份,或者還原。對(duì)于 MySQL 而言,最方便的方法可能就是用 phpMyAdmin 的導(dǎo)出、導(dǎo)入功能了,但如果你的數(shù)據(jù)庫(kù)體積比較大,作為 Web 應(yīng)用的 phpMyAdmin 可能會(huì)遭遇“超時(shí)”而操作失敗。所以,學(xué)會(huì)在命令行模式下備份、還原數(shù)據(jù)庫(kù),還是很有必要的。
Linux系統(tǒng)下
備份數(shù)據(jù)庫(kù)
在 Linux 命令行模式下備份 MySQL 數(shù)據(jù)庫(kù),用的是 mysqldump 命令:
mysqldump -u mysqluser -p test_db
對(duì)以上命令稍作解釋?zhuān)?/p>
- -u 意味著你要指定一個(gè) MySQL 用戶(hù)名來(lái)連接數(shù)據(jù)庫(kù)服務(wù),如上面的 mysqluser 即為 MySQL用戶(hù)名。
- -p 則意味著你需要有一個(gè)有效的,與以上用戶(hù)名對(duì)應(yīng)的密碼。
- 最后一個(gè)參數(shù)則是需要備份的那個(gè)數(shù)據(jù)庫(kù)的名稱(chēng):test_db
如果直接執(zhí)行以上命令,緊接著就會(huì)提示需要輸入 MySQL 密碼,數(shù)據(jù)密碼后,它會(huì)直接將備份出來(lái)的 SQL 腳本顯示在屏幕上,這當(dāng)然不是我們想要的結(jié)果。我們需要把數(shù)據(jù)庫(kù)備份成一個(gè)文件,可用以下命令:
mysqldump -u mysqluser -p test_db > test_db.sql
這樣,就會(huì)在當(dāng)前目錄下備份出一個(gè)名為test_db.sql的文件。
當(dāng)然,如果數(shù)據(jù)庫(kù)體積比較大,通常會(huì)對(duì)備份出來(lái)的文件進(jìn)行壓縮,備份和壓縮可以在同一行命令內(nèi)完成:
cat test_db.sql | mysql -u mysqluser -p test_db
壓縮的時(shí)候,最好再給文件名加上擴(kuò)展名.gz,以便下次還原數(shù)據(jù)庫(kù)的時(shí)候心中有數(shù)。
還原數(shù)據(jù)庫(kù)
還原數(shù)據(jù)庫(kù)的命令也很簡(jiǎn)單,如果你備份出來(lái)的文件是未壓縮的版本,則還原數(shù)據(jù)庫(kù)的命令如下:
cat test_db.sql | mysql -u mysqluser -p test_db
用cat命令,把 SQL 腳本內(nèi)容輸出給 MySQL 程序以便還原??梢钥吹?,MySQL 后面的幾個(gè)參數(shù),跟備份時(shí)候的一樣。
如果是已壓縮版本的備份文件,則需用以下命令才能還原:
gunzip < test_db.sql.gz | mysql -u mysqluser -p test_db
類(lèi)似地,用gunzip命令,解壓縮,然后把腳本內(nèi)容輸出給 MySQL 程序以便還原。
如不考慮將 .sql 文件壓縮打包的話(huà),也可以用下面兩條語(yǔ)句分別導(dǎo)出、導(dǎo)入
mysqldump -u root -p test_db > test_db.sql mysql -u root -p test_db < test_db.sql
Windows系統(tǒng)下
備份
開(kāi)始菜單 | 運(yùn)行 | cmd |利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”命令進(jìn)入bin文件夾 | 利用“mysqldump -u 用戶(hù)名 -p databasename >exportfilename”導(dǎo)出數(shù)據(jù)庫(kù)到文件,如mysqldump -u root -p voice>voice.sql,然后輸入密碼即可開(kāi)始導(dǎo)出。
還原
進(jìn)入MySQL Command Line Client,輸入密碼,進(jìn)入到“mysql>”,輸入命令"show databases;",回車(chē),看看有些什么數(shù)據(jù)庫(kù);建立你要還原的數(shù)據(jù)庫(kù),輸入"create database voice;",回車(chē);切換到剛建立的數(shù)據(jù)庫(kù),輸入"use voice;",回車(chē);導(dǎo)入數(shù)據(jù),輸入"source voice.sql;",回車(chē),開(kāi)始導(dǎo)入,再次出現(xiàn)"mysql>"并且沒(méi)有提示錯(cuò)誤即還原成功。
相關(guān)文章
SQL中MIN和MAX及常見(jiàn)函數(shù)教程示例
這篇文章主要為大家介紹了SQL中MIN和MAX及常見(jiàn)函數(shù)教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11MySQL索引的缺點(diǎn)以及MySQL索引在實(shí)際操作中有哪些事項(xiàng)
以下的文章主要介紹的是MySQL索引的缺點(diǎn)以及MySQL索引在實(shí)際操作中有哪些事項(xiàng)是值得我們大家注意的,我們大家可能不知道過(guò)多的對(duì)索引進(jìn)行使用將會(huì)造成濫用,需要的朋友可以了解下2012-12-12MySQL 5.7及8.0版本數(shù)據(jù)庫(kù)的root密碼遺忘的解決方法
這篇文章主要介紹了MySQL 5.7及8.0版本數(shù)據(jù)庫(kù)的root密碼遺忘的解決辦法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-12-12