Mysqldump备份和恢复
使用Mysqldump命令備份和恢復(fù)Mysql數(shù)據(jù)庫(kù)
之前一直習(xí)慣用phpmyadmin備份恢復(fù)數(shù)據(jù)庫(kù),不過(guò)數(shù)據(jù)庫(kù)文件大了用phpmyadmin就不行了。這時(shí)候我們就需要Mysqldump來(lái)備份和恢復(fù)。
以下內(nèi)容來(lái)自網(wǎng)絡(luò)。
1、導(dǎo)出
命令:mysqldump -u用戶名 -p數(shù)據(jù)庫(kù)密碼 數(shù)據(jù)庫(kù)名 > 文件名
如果用戶名需要密碼,則需要在此命令執(zhí)行后輸入一次密碼核對(duì);如果數(shù)據(jù)庫(kù)用戶名不需要密碼,則不要加“-p”參數(shù),導(dǎo)入的時(shí)候相同。
注意輸入的用戶名需要擁有對(duì)應(yīng)數(shù)據(jù)庫(kù)的操作權(quán)限,否則無(wú)法導(dǎo)出數(shù)據(jù)。由于是作系統(tǒng)維護(hù)和全部數(shù)據(jù)庫(kù)的導(dǎo)出,一般我們使用root等超
級(jí)用戶權(quán)限。
比如要將abc這個(gè)數(shù)據(jù)庫(kù)導(dǎo)出為一個(gè)文件名為db_abc.sql的數(shù)據(jù)庫(kù)文件到當(dāng)前目錄下,則輸入下面的命令:
mysqldump -uroot -ppassword abc >db_abc.sql如果要直接導(dǎo)出sql.zip或者gzip格式文件命令如下:
mysqldump -uroot -ppassword abc >gzip > db_abc.sql.gzip需要注意的是:-u和-p后面直接跟用戶名和密碼,不要有空格。
2、導(dǎo)入
命令:mysql -u用戶名 -p數(shù)據(jù)庫(kù)密碼 數(shù)據(jù)庫(kù)名 < 文件名 同mysqldump命令一樣的用法,各參數(shù)的意義同mysqldump。
比如我們要將/root/backup/db_abc.sql這個(gè)文件的數(shù)據(jù)導(dǎo)入到abc數(shù)據(jù)庫(kù)中,則使用下面的命令:
如果是zip或gzip格式則使用下面的命令:
mysql -uroot -ppassword abc <gzip </root/backup/abc.sql.gzip3、其他命令參考
備份遠(yuǎn)程MySQL數(shù)據(jù)庫(kù)的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql備份MySQL數(shù)據(jù)庫(kù)為帶刪除表的格式備份MySQL數(shù)據(jù)庫(kù)為帶刪除表的格式,能夠讓該備份覆蓋已有數(shù)據(jù)庫(kù)而不需要手動(dòng)刪除原有數(shù)據(jù)庫(kù)。
mysqldump ---add-drop-table -uusername -ppassword databasename > backupfile.sql直接將MySQL數(shù)據(jù)庫(kù)壓縮備份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz備份MySQL數(shù)據(jù)庫(kù)某個(gè)(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql同時(shí)備份多個(gè)MySQL數(shù)據(jù)庫(kù)
mysqldump -hhostname -uusername -ppassword --databases databasename1 databasename2 databasename3 > multibackupfile.sql僅僅備份數(shù)據(jù)庫(kù)結(jié)構(gòu)
mysqldump --no-data --databases databasename1 databasename2 databasename3 > structurebackupfile.sql備份服務(wù)器上所有數(shù)據(jù)庫(kù)
mysqldump --all-databases allbackupfile.sql還原MySQL數(shù)據(jù)庫(kù)的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql還原壓縮的MySQL數(shù)據(jù)庫(kù)
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename將數(shù)據(jù)庫(kù)轉(zhuǎn)移到新服務(wù)器
1、首先在新的服務(wù)器上創(chuàng)建數(shù)據(jù)庫(kù),create database newdatabase;
2、mysqldump -uusername -ppassword olddatabasename | mysql -hhostname -uuserbname –ppassword newdatabasename
4、總結(jié)一下壓縮備份
備份并用gzip壓縮:mysqldump < mysqldump options> | gzip > outputfile.sql.gz
從gzip備份恢復(fù):gunzip < outputfile.sql.gz | mysql < mysql options>
備份并用bzip壓縮:mysqldump < mysqldump options> | bzip2 > outputfile.sql.bz2
從bzip2備份恢復(fù):bunzip2 < outputfile.sql.bz2 | mysql < mysql options>
總結(jié)
以上是生活随笔為你收集整理的Mysqldump备份和恢复的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: navicate 导出批量插入语句
- 下一篇: 文本过滤 grep