萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql mysqldump數據庫備份命令介紹

mysql mysqldump數據庫備份命令介紹

文章收集了大量的關於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備份恢復:

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

 代碼如下 復制代碼 mysqldump --user=XXXXXXXX --password=XXXXXXXX --databases DB_NAME --tables TABLE_NAME > /PATH/TO/DUMPFILE.SQL

 

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
--------------------------------------------------------------------------------
Use the following procedure to reload the contents of a database:
Unzip the backup file you wish to use.
Open it up and pull out only the information that you will need.
Save this text file.
Use the following command to feed back in the contents of a text file:

 代碼如下 復制代碼 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

copyright © 萬盛學電腦網 all rights reserved