mysqldump命令是mysql中一個非常不錯的數據庫操作命令,他可以對數據庫進行備份與還原,同時幾乎所有數據庫命令備份都會用到它,下面我來介紹一下mysqldump一些用法。
一、常用操作:
備份整個數據庫
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 (–database) 數據庫名 > 文件名.sql
mysqldump -h{hostname} -P{port} -u{username} -p{password} {databasename} > {backupfile.sql}
例如,代碼如下:
mysqldump -hlocalhost -P3306 -uzhuchao -p123456 db_test > backfile1.sql
備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫.
格式:mysqldump -–add-drop-table -u{username} -p{password} {databasename} > {backfile.sql}
例如,代碼如下:mysqldump -–add-drop-table –uzhuchao -p123456 db_test > backfile2.sql
直接將MySQL數據庫壓縮備份
格式:mysqldump -h{hostname} -u{username} -p{password} {databasename} | gzip > {backfile.sql.gz}
例如,代碼如下:mysqldump –hlocalhost –uzhuchao –p123456 db_test1 | gzip > backfile3.sql.gz
備份MySQL數據庫某個(些)表
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 (–tables | –quick) 數據庫名 表名1 (表名2 …) > 文件名.sql (括號中的可缺省)。
mysqldump -h{hostname} (-P{port}) -u{user} -p{password} (–tables | –quick) {databasename} {table1} {table2} > {backfile.sql}
例如,代碼如下:
- mysqldump -hlocalhost -uzhuchao -p123456 db_test tbl_test > backfile4-1.sql
- mysqldump -hlocalhost -P3306 -uzhuchao -p123456 db_test tbl_test > backfile4-2.sql
- mysqldump -hlocalhost -P3306 -uzhuchao -p123456 --quick db_test tbl_test > backfile4-3.sql//Vevb.com
- mysqldump -hlocalhost -P3306 -uzhuchao -p123456 --tables db_test tbl_test1 tbl_test2 > backfile4-4.sql
同時備份多個MySQL數據庫
格式:mysqldump -h{hostname} (-P{port}) -u{username} -p{password} –databases {databasename1} {databasename2} {databasename3} > multibackfile.sql
例如,代碼如下:
mysqldump -hlocalhost -uzhuchao -p123456 –databases db_test1 db_test2 db_test3 > multibackfile.sql
僅僅備份數據庫結構
例如,代碼如下:
mysqldump –no-data –databases db_test1 db_test2 > structurebackfile.sql
備份服務器上所有數據庫
格式:mysqldump –all-databases > allbackupfile.sql
還原MySQL數據庫的命令
格式:mysql -h{hostname} -u{username} -p{password} {databasename} < {backfile.sql}
例如,代碼如下:
mysql -hlocalhost -uroot -p123456 db_test4 < back_file1.sql
還原壓縮的MySQL數據庫
例如,代碼如下:
gunzip < backfile.sql.gz | mysql –uzhuchao –p123456 db_test5
將數據庫轉移到新服務器:mysqldump –u{username} –p{password} {databasename} | mysql –host=*.*.*.* –C {databasename}
二、其他:
1、如果端口為默認的3306時,可省略 -P {端口號} 這一項。
2、命令行格式中 { } 中的內容都是變量
主機名:{hostname}
端 口:{port} (一般默認3306,可缺?。?/p>
用戶名:{user} {username} (如root)
密 碼:{password}
數據庫名:{databasename}
表 名:{table} {table1} {table2}
文件名:{backfile.sql}
新聞熱點
疑難解答