程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 有關MYSQLDUMP的詳細解釋

有關MYSQLDUMP的詳細解釋

編輯:關於MYSQL數據庫
前提: 使用MySQLdump的用戶,必須至少具有SELECT 和 LOCK TABLES的權限。庫或者表。

如果要使用--tab開關,還必須有FILE的權限

准備工作:

庫以及表:

Table   Create Table                             pwss    CREATE TABLE `pwss` (                   
          `id` int(11) NOT NULL AUTO_INCREMENT, 
          `username` varchar(64) DEFAULT NULL,  
          `description` mediumtext,             
          PRIMARY KEY (`id`)                    
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8    

MySQL> grant usage on *.* to identifIEd by 'dump_user';
Query OK, 0 rows affected (0.00 sec)

(這個語句可以省略,因為默認的都有USAGE權限。)

MySQL> grant lock tables on *.* to ;
Query OK, 0 rows affected (0.00 sec)

MySQL> flush privileges;
Query OK, 0 rows affected (0.01 sec)

MySQL> show grants for ; -----------------------------------------+
| Grants for dump_user@localhost +------------------------------------------------------------------------------- | GRANT LOCK TABLES ON *.* TO IDENTIFIED BY PASSWord '*9
E3A8684DFAF643FD3D08D24C0432C0101417D8B' | -----------------------------------------+
1 row in set (0.00 sec)如果您想把整個數據庫woshitTest的內容導到一個文件中,可以使用下面的命令:

C:\>MySQLdump -udump_user -pdump_user woshitTest > c:\\woshitTestDumpFile.txt(默認的是當前路徑,其他的請用完整路徑)
  

這條命令行也可以加上以下開關:

 --databases (--all-databases)

如果只是想單獨把表 pwSS 導出:
C:\>MySQLdump -udump_user -pdump_user woshitTest pwss> c:\\woshitTestDumpFilePwss.txt

如果你想要導出某一條記錄的話,帶上開關--where="你的SQL語句"

--where="id=1" 或者 -w="id=1"

MYSQLDUMP 還有其他的開關列表如下:  --add-drop-table這個選項將會在每一個表的前面加上DROP TABLE IF EXISTS語句,這樣可以保證IMPORT您的MySQL數據庫的時候不會出錯,因為每次導回的時候,都會首先檢查表是否存在,存在就刪除  --add-locks(這個開關我個人不推薦)這個選項會在INSERT語句中捆上一個LOCK TABLE和UNLOCK TABLE語句。這就防止在這些記錄被再次導入數據庫時其他用戶對表進行的操作

實例:

LOCK TABLES `pwss` WRITE; INSERT INTO `pwss` VALUES (1,'weiwei','I love this girl'); UNLOCK TABLES;   -c or - complete_insert這個選項使得MySQLdump命令給每一個產生INSERT語句加上列(fIEld)的名字。當把數據導出導另外一個數據庫時這個選項很有用。

實例:

INSERT INTO `pwss` (`id`, `username`, `description`) VALUES (1,'weiwei','I love this girl');   --delayed-insert
在INSERT命令中加入DELAY選項  -F or -flush-logs
在執行導出之前將會刷新MySQL服務器的log.   -f or -force
即使有錯誤發生,仍然繼續導出  -l or --lock-tables
導出表的時候服務器將會給表加鎖。(同上:--add-locks)  -t or --no-create- info這個選項使的MySQLdump命令不創建CREATE TABLE語句,這個選項在您只需要數據而不需要DDL(數據庫定義語句)時很方便。  -d or --no-data
這個選項使的MySQLdump命令不創建INSERT語句。在您只需要DDL語句時,可以使用這個選項。  --opt
此選項將打開所有會提高文件導出速度和創造一個可以更快導入的文件的選項。(個人推薦。

如果沒有使用--opt,MySQLDUMP就會把整個結果集裝載到內存中,然後導出。如果數據非常大就會導致導出失敗。這個開關在默認情況下是啟用的,如果不想啟用它:--skip-opt來關閉它。)  -q or -quick
這個選項使得MySQL不會把整個導出的內容讀入內存再執行導出,而是在讀到的時候就寫入導文件中。這個和上面的開關一個意思。  --tab = path
這個選項將會創建兩個文件,一個文件包含DDL語句或者表創建語句,另一個文件包含數據。DDL文件被命名為tableName.sql,數據文件被命名為tableName.txt.路徑名是存放這兩個文件的目錄。目錄必須已經存在,並且命令的使用者有對文件的特權。

(tableName.txt的結果相當於用select * from tablename into outfile的生成數據)    --allow-keyWords      -C, --compress   縮兩者間所有的信息。    -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子句相同的含義。   -pyour_pass, --passWord[=your_pass]  
與服務器連接時使用的口令。如果你不指定“=your_pass”部分,MySQLdump需要來自終端的口令。    -P port_num, --port=port_num  
與一台主機連接時使用的TCP/IP端口號。(任何系統通用)    -S /path/to/socket, --socket=/path/to/socket  
與localhost連接時(它是缺省主機)使用的套接字文件。 (用於Linux系統)     -u user_name, --user=userName  
與服務器連接時,MySQL使用的用戶名。 (Linux系統缺省的who am i 的結果)     -O var=option, --set-variable var=option

設置一個變量的值。可能的變量被列在下面。  
   -v, --verbose  
冗長模式。打印出程序所做的更多的信息。(也就是詳細信息)

-B 開關可以生成CREATE DATABASE語句:

C:\>MySQLdump -udump_user -pdump_user -B woshitTest --add-drop-table -c> c:\\1.txt

--tables

這個很有用的一個開關。

用於跳過--databases或者-B開關。該開關後面的所有名字均被認為是表名。

實例:

C:\>MySQLdump -udump_user -pdump_user -B woshitTest --tables pwss --add-drop-table -c -R
 >> c:\\1.txt

如果要導出存儲過程,加 -R開關即可。

實例:

C:\>MySQLdump -udump_user -pdump_user woshitTest pwss --add-drop-table -c --tab="c:\\" -
v
-- Connecting to localhost...
-- RetrIEving table structure for table pwss...
-- Sending SELECT query...
-- Disconnecting from localhost...

   -V, --version  
打印版本信息並且退出。

這裡只談了備份,不過恢復是最最主要的:

MySQL -udump_user -pdump_user woshittest< 1.txt

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved