自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL mysqldump命令的正確應(yīng)用

數(shù)據(jù)庫 MySQL
以下的文章主要是介紹一種更為快捷的方法來實現(xiàn)MySQL mysqldump命令,以下就是對MySQL mysqldump命令具體方案的描述,希望在你今后的學(xué)習(xí)中會有所幫助。

MySQL mysqldump命令在實際中的應(yīng)用比例還是占為多數(shù)的,如果你對這一技術(shù),心存好奇的話,以下的文章將會揭開它的神秘面紗。希望會給你帶來一些幫助在以后的學(xué)習(xí)或是工作中。

1.用MySQL mysqldump對MySQL數(shù)據(jù)庫進(jìn)行數(shù)據(jù)備份與恢復(fù)

下面假設(shè)要備份tm這個數(shù)據(jù)庫:

Shell>mysqldump -uroot –p123456 tm > tm_050519.sql

 

這時可以利用gzip壓縮數(shù)據(jù),命令如下:

Shell>mysqldump -uroot -p123456 tm | gzip > tm_050519.sql.gz

 

恢復(fù)數(shù)據(jù):

Shell>mysql -uroot -p123456 tm < tm_050519.sql

 

從壓縮文件直接恢復(fù):

Shell>gzip < tm_050519.sql.gz | mysql -uroot -p123456 tm

 

2.關(guān)于使用mysqldump的一些參數(shù)選項

(1)直接使用MySQL mysqldump -uroot -pxxxx tetratest > "d:\data1.sql"

導(dǎo)出數(shù)據(jù)時,沒有建庫語句,這時你可以手動創(chuàng)建一個庫,然后使用:

mysql -uroot -pabcd mydatabase < "d:\data1.sql",即將一個數(shù)據(jù)庫“復(fù)制”到一個不同名稱的數(shù)據(jù)庫下。同時,這種情況下,存儲過程及函數(shù)并沒有轉(zhuǎn)儲到文件中。

 

(2)如果你未使用--quick或者--opt選項,那么mysqldump將在轉(zhuǎn)儲結(jié)果之前把全部內(nèi)容載入到內(nèi)存中。這在你轉(zhuǎn)儲大數(shù)據(jù)量的數(shù)據(jù)庫時將會有些問題。該選項默認(rèn)是打開的,但可以使用--skip-opt來關(guān)閉它。

 

(3)使用--skip-comments可以去掉導(dǎo)出文件中的注釋語句

 

(4)使用--compact選項可以只輸出最重要的語句,而不輸出注釋及刪除表語句等等

 

(5)使用--database或-B選項,可以轉(zhuǎn)儲多個數(shù)據(jù)庫,在這個選項名后的參數(shù)都被認(rèn)定為數(shù)據(jù)庫名
mysqldump -uroot -paaa --database db1 db2 >"d:\mydata.sql"。同時,使用該參數(shù)會使用導(dǎo)出文件中增加創(chuàng)建庫的語句。如不帶該選項,則第二個參數(shù)將被認(rèn)定為表名,即:MySQL mysqldump -uroot -paaa my1 mytable1 >"d:\mydata.sql",將導(dǎo)出表mytable1的結(jié)構(gòu)及數(shù)據(jù)。

 

(6)--tables ,在此選項之后的參數(shù)都被認(rèn)定為表名。

 

(7)--no-create-db

 

(8)--no-create-info

 

(9)--no-data

 

(10)--routines, -R 將使存儲過程、函數(shù)也轉(zhuǎn)儲到文件中來。
(更多請參考MySQL手冊)

 

3.MySQL中的臨時表及HEAP表

給正常的CREATE TABLE語句加上TEMPORARY關(guān)鍵字:

 

  1. CREATE TEMPORARY TABLE tmp_table (  
  2. name VARCHAR(10) NOT NULL,  
  3. value INTEGER NOT NULL  
  4. )  

 

 

臨時表將在你連接MySQL期間存在。當(dāng)你斷開時,MySQL將自動刪除表并釋放所用的空間。當(dāng)然你可以在仍然連接的時候刪除表并釋放空間。

DROP TABLE tmp_table

 

如果你聲明臨時表是一個HEAP表,MySQL也允許你指定在內(nèi)存中創(chuàng)建它:

 

  1. CREATE TEMPORARY TABLE tmp_table (  
  2. name VARCHAR(10) NOT NULL,  
  3. value INTEGER NOT NULL  
  4. TYPE = HEAP 

 

 

HEAP表格使用一個哈希索引并且存儲在內(nèi)存中,這使他們更快,但是如果MySQL崩潰,你將失去所有存儲的數(shù)據(jù)。HEAP作為臨時表很可用!

 

當(dāng)你使用HEAP表時,這里是你應(yīng)該考慮的一些事情:

你應(yīng)該總是在CREATE語句中指定MAX_ROWS以保證你有意不使用所有的內(nèi)存。

索引將只能與與=和<=>一起使用(但是很快)。

HEAP表使用一個固定的記錄長度格式。

HEAP不支持BLOB/TEXT列。

HEAP不支持AUTO_INCREMENT列。

HEAP不支持在一個NULL列上的索引。

你可以在一個HEAP表中有非唯一鍵(哈希表一般不這樣)。

HEAP表格在所有的客戶之間被共享(就象任何其他的表)。

HEAP表的數(shù)據(jù)以小塊分配。表是100%動態(tài)的(在插入時),無需溢出區(qū)和額外的鍵空間。刪除的行放入一個鏈接表并且當(dāng)你把新數(shù)據(jù)插入到表時,它將被再次使用。

為了釋放內(nèi)存,你應(yīng)該執(zhí)行DELETE FROM heap_table或DROP TABLE heap_table。

為了保證你不會偶然做些愚蠢的事情,你不能創(chuàng)建比max_heap_table_size大的HEAP表。

上述的相關(guān)內(nèi)容就是對MySQL mysqldump命令的描述,希望會給你帶來一些幫助在此方面。

【編輯推薦】

  1. PHP+MySQL在win2000下的實際操作
  2. 實現(xiàn)MySQL遠(yuǎn)程登陸在linux下
  3. MySQL數(shù)據(jù)庫的基本操作演示
  4. MySQL 免安裝版的實際配置方法
  5. 將MSSQL數(shù)據(jù)轉(zhuǎn)換到MySQL數(shù)據(jù)庫的實操演示
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-05-25 18:01:35

linux MySQL

2010-05-28 15:16:40

MySQL 資源

2009-12-07 14:38:14

PHP foreach

2010-06-10 17:19:05

MySQL數(shù)據(jù)庫

2010-02-22 10:42:12

WCF Stream

2010-07-21 10:50:48

SQL Server存

2010-02-22 14:09:08

WCF Dispose

2021-07-02 16:13:01

區(qū)塊鏈金融數(shù)據(jù)庫

2010-07-20 13:26:43

2010-07-26 16:11:45

Microsoft S

2010-07-05 14:34:19

2010-02-05 17:49:24

C++常量引用

2010-07-26 17:43:34

SQL Server

2010-06-13 18:06:06

2010-03-04 09:40:52

Python Clas

2010-02-05 14:12:46

C++聲明放置

2010-03-04 13:30:11

Python file

2010-08-13 11:02:09

DB2數(shù)據(jù)庫Table

2010-08-11 15:48:04

DB2編程

2010-08-11 15:48:04

DB2編程
點贊
收藏

51CTO技術(shù)棧公眾號