文章收集了大量的關于mysqldump命令的語句與實例,同時也有介紹國外網站上的說明用法,有需要了解的朋友可以參考一下,代碼如下:
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
備份MySQL數據庫為帶刪除表的格式備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫.
mysqldump ---add-drop-table -uusername -ppassword databasename > backupfile.sql直接將MySQL數據庫壓縮備份,代碼如下:
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
備份MySQL數據庫某個(些)表,代碼如下:
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同時備份多個MySQL數據庫,代碼如下:
mysqldump -hhostname -uusername -ppassword --databases databasename1 databasename2 databasename3 > multibackupfile.sql
僅僅備份數據庫結構,代碼如下:
mysqldump --no-data --databases databasename1 databasename2 databasename3 > structurebackupfile.sql
備份服務器上所有數據庫,代碼如下:
mysqldump --all-databases allbackupfile.sql還原MySQL數據庫的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql還原壓縮的MySQL數據庫
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename將數據庫轉移到新服務器
mysqldump -uusername -ppassword databasename | mysql --host=*.*.*.* -C databasename壓縮備份
備份并用gzip壓縮,代碼如下:
- mysqldump < mysqldump options> | gzip > outputfile.sql.gz從gzip備份恢復:
- gunzip < outputfile.sql.gz | mysql < mysql options>備份并用bzip壓縮:
- mysqldump < mysqldump options> | bzip2 > outputfile.sql.bz2從bzip2備份恢復:
- --Vevb.com
- bunzip2 < outputfile.sql.bz2 | mysql < mysql options>
mysqldump支持下列選項:
--add-locks:在每個表導出之前增加LOCK TABLES并且之后UNLOCK TABLE,為了使得更快地插入到MySQL.
--add-drop-table:在每個create語句之前增加一個drop table.
--allow-keywords:允許創建是關鍵詞的列名字,這由表名前綴于每個列名做到.
-c, --complete-insert
使用完整的insert語句(用列名字).
-C, --compress.
如果客戶和服務器均支持壓縮,壓縮兩者間所有的信息.
--delayed:用INSERT DELAYED命令插入行.
-e,--extended-insert
使用全新多行INSERT語法。(給出更緊縮并且更快的插入語句)
-#, --debug[=option_string]
跟蹤程序的使用(為了調試)。
--help:顯示一條幫助消息并且退出.
- --fields-terminated-by=...
- --fields-enclosed-by=...
- --fields-optionally-enclosed-by=...
- --fields-escaped-by=...
- --fields-terminated-by=...
這些選擇與-T選擇一起使用,并且有相應的LOAD DATA INFILE子句相同的含義。
LOAD DATA INFILE語法:
-F,--flush-logs:在開始導出前,洗掉在MySQL服務器中的日志文件。
-f,--force:即使我們在一個表導出期間得到一個SQL錯誤,繼續。
-h,--host=..:從命名的主機上的MySQL服務器導出數據。缺省主機是localhost。
-l,--lock-tables:為開始導出鎖定所有表。
-t,--no-create-info:不寫入表創建信息(CREATE TABLE語句)
-d,--no-data:不寫入表的任何行信息。如果你只想得到一個表的結構的導出,這是很有用的!
--opt:同--quick --add-drop-table --add-locks --extended-insert --lock-tables。
應該給你為讀入一個MySQL服務器的盡可能最快的導出.
-pyour_pass,--password[=your_pass]
與服務器連接時使用的口令。如果你不指定“=your_pass”部分,mysqldump需要來自終端的口令。
-P port_num, --port=port_num
與一臺主機連接時使用的TCP/IP端口號。(這用于連接到localhost以外的主機,因為它使用 Unix套接字。)
-q, --quick
不緩沖查詢,直接導出至stdout;使用mysql_use_result()做它。
-S /path/to/socket, --socket=/path/to/socket
與localhost連接時(它是缺省主機)使用的套接字文件。
-T, --tab=path-to-some-directory
對于每個給定的表,創建一個table_name.sql文件,它包含SQL CREATE 命令,和一個table_name.txt文件,它包含數據。 注意:這只有在mysqldump運行在mysqld守護進程運行的同一臺機器上的時候才工作。.txt文件的格式根據--fields-xxx和--lines--xxx選項來定。
-u user_name, --user=user_name
與服務器連接時,MySQL使用的用戶名。缺省值是你的Unix登錄名。
-O var=option, --set-variable var=option設置一個變量的值??赡艿淖兞勘涣性谙旅妗?
-v, --verbose
冗長模式,打印出程序所做的更多的信息。
-V, --version
打印版本信息并且退出。
-w, --where=@#where-condition@#
只導出被選擇了的記錄;注意引號是強制的.
- "--where=user=@#jimf@#" "-wuserid>1" "-wuserid<1"
- MySQL Dump/Restore
- Dump ALL MySQL Databases
代碼如下:
mysqldump --user=XXXXXXXX --password=XXXXXXX -A > /PATH/TO/DUMPFILE.SQL
Dump Individual or Multiple MySQL Databases代碼如下:
mysqldump --user=XXXXXXXX --password=XXXXXXX --databases DB_NAME1 DB_NAME2 DB_NAME3 > /PATH/TO/DUMPFILE.SQL
Dump only certain tables from a MySQL Database,代碼如下:
I'm using MySQL 4.1.8 on my development server, but am behind a few releases on our production server. In order to make dumps compatible with the old MySQL version, add the following switch: --compatible=mysql323
代碼如下:mysql --verbose --user=XXXXXXXX --password=XXXXXXXX DB_NAME < /PATH/TO/DUMPFILE.SQL
Restoring MySQL database.The mysqldump utility is used only to take the MySQL dump. To restore the database from the dump file that you created in previous step, use mysql command.代碼如下:
shell> mysql --u [username] --password=[password] [database name] < [dump file]
Example,代碼如下:
shell> mysql --user root --password=myrootpassword new_db < db_test.sql
新聞熱點
疑難解答