国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL數(shù)據(jù)庫使用mysqldump導(dǎo)出數(shù)據(jù)詳解

2020-01-18 22:32:32
字體:
供稿:網(wǎng)友

mysqldump是mysql用于轉(zhuǎn)存儲數(shù)據(jù)庫的客戶端程序。它主要產(chǎn)生一系列的SQL語句,可以封裝到文件,該文件包含有所有重建您的數(shù)據(jù)庫所需要的 SQL命令如CREATE DATABASE,CREATE TABLE,INSERT等等。可以用來實現(xiàn)輕量級的快速遷移或恢復(fù)數(shù)據(jù)庫。是mysql數(shù)據(jù)庫實現(xiàn)邏輯備份的一種方式。

在日常維護(hù)工作當(dāng)中經(jīng)常會需要對數(shù)據(jù)進(jìn)行導(dǎo)出操作,而mysqldump是導(dǎo)出數(shù)據(jù)過程中使用非常頻繁的一個工具;它自帶的功能參數(shù)非常多,文章中會列舉出一些常用的操作,在文章末尾會將所有的參數(shù)詳細(xì)說明列出來。

語法:

默認(rèn)不帶參數(shù)的導(dǎo)出,導(dǎo)出文本內(nèi)容大概如下:創(chuàng)建數(shù)據(jù)庫判斷語句-刪除表-創(chuàng)建表-鎖表-禁用索引-插入數(shù)據(jù)-啟用索引-解鎖表。

Usage: mysqldump [OPTIONS] database [tables]OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]OR mysqldump [OPTIONS] --all-databases [OPTIONS] 

插入測試數(shù)據(jù)

CREATE DATABASE db1 DEFAULT CHARSET utf8;USE db1;CREATE TABLE a1(id int);insert into a1() values(1),(2);CREATE TABLE a2(id int);insert into a2() values(2);CREATE TABLE a3(id int);insert into a3() values(3);CREATE DATABASE db2 DEFAULT CHARSET utf8;USE db2;CREATE TABLE b1(id int);insert into b1() values(1);CREATE TABLE b2(id int);insert into b2() values(2); 

1.導(dǎo)出所有數(shù)據(jù)庫

該命令會導(dǎo)出包括系統(tǒng)數(shù)據(jù)庫在內(nèi)的所有數(shù)據(jù)庫

mysqldump -uroot -proot --all-databases >/tmp/all.sql 

2.導(dǎo)出db1、db2兩個數(shù)據(jù)庫的所有數(shù)據(jù)

mysqldump -uroot -proot --databases db1 db2 >/tmp/user.sql 

3.導(dǎo)出db1中的a1、a2表

注意導(dǎo)出指定表只能針對一個數(shù)據(jù)庫進(jìn)行導(dǎo)出,且導(dǎo)出的內(nèi)容中和導(dǎo)出數(shù)據(jù)庫也不一樣,導(dǎo)出指定表的導(dǎo)出文本中沒有創(chuàng)建數(shù)據(jù)庫的判斷語句,只有刪除表-創(chuàng)建表-導(dǎo)入數(shù)據(jù)

mysqldump -uroot -proot --databases db1 --tables a1 a2 >/tmp/db1.sql 

4.條件導(dǎo)出,導(dǎo)出db1表a1中id=1的數(shù)據(jù)

條件導(dǎo)出只能導(dǎo)出單個表

mysqldump -uroot -proot --databases db1 --tables a1 --where='id=1' >/tmp/a1.sql 

5.生成新的binlog文件,-F

有時候會希望導(dǎo)出數(shù)據(jù)之后生成一個新的binlog文件,只需要加上-F參數(shù)即可

mysqldump -uroot -proot --databases db1 -F >/tmp/db1.sql 

6.只導(dǎo)出表結(jié)構(gòu)不導(dǎo)出數(shù)據(jù),--no-data

mysqldump -uroot -proot --no-data --databases db1 >/tmp/db1.sql 

7.跨服務(wù)器導(dǎo)出導(dǎo)入數(shù)據(jù)

mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2

將h1服務(wù)器中的db1數(shù)據(jù)庫的所有數(shù)據(jù)導(dǎo)入到h2中的db2數(shù)據(jù)庫中,db2的數(shù)據(jù)庫必須存在否則會報錯

mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test
加上-C參數(shù)可以啟用壓縮傳遞。

8.將主庫的binlog位置和文件名追加到導(dǎo)出數(shù)據(jù)的文件中,--dump-slave

該參數(shù)在在從服務(wù)器上執(zhí)行,相當(dāng)于執(zhí)行show slave status。當(dāng)設(shè)置為1時,將會以CHANGE MASTER命令輸出到數(shù)據(jù)文件;設(shè)置為2時,會在change前加上注釋。

該選項將會打開--lock-all-tables,除非--single-transaction被指定。

在執(zhí)行完后會自動關(guān)閉--lock-tables選項。--dump-slave默認(rèn)是1

mysqldump -uroot -proot --dump-slave=1 --database db1 >/tmp/db1.sql 

mysqldump -uroot -proot --dump-slave=2 --database db1 >/tmp/db1.sql 

9.將當(dāng)前服務(wù)器的binlog的位置和文件名追加到輸出文件,--master-data

改參數(shù)和--dump-slave方法一樣,只是它是記錄的是當(dāng)前服務(wù)器的binlog,相當(dāng)于執(zhí)行show master status。

10--opt

等同于--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 該選項默認(rèn)開啟, 可以用--skip-opt禁用.

mysqldump -uroot -p --host=localhost --all-databases --opt 

11保證導(dǎo)出的一致性狀態(tài)--single-transaction

該選項在導(dǎo)出數(shù)據(jù)之前提交一個BEGIN SQL語句,BEGIN 不會阻塞任何應(yīng)用程序且能保證導(dǎo)出時數(shù)據(jù)庫的一致性狀態(tài)。它只適用于多版本存儲引擎(它不顯示加鎖通過判斷版本來對比數(shù)據(jù)),僅InnoDB。本選項和--lock-tables 選項是互斥的,因為LOCK TABLES 會使任何掛起的事務(wù)隱含提交。要想導(dǎo)出大表的話,應(yīng)結(jié)合使用--quick 選項。

--quick, -q

不緩沖查詢,直接導(dǎo)出到標(biāo)準(zhǔn)輸出。默認(rèn)為打開狀態(tài),使用--skip-quick取消該選項。

12--lock-tables, -l

開始導(dǎo)出前,鎖定所有表。用READ LOCAL鎖定表以允許MyISAM表并行插入。對于支持事務(wù)的表例如InnoDB和BDB,--single-transaction是一個更好的選擇,因為它根本不需要鎖定表。

請注意當(dāng)導(dǎo)出多個數(shù)據(jù)庫時,--lock-tables分別為每個數(shù)據(jù)庫鎖定表。因此,該選項不能保證導(dǎo)出文件中的表在數(shù)據(jù)庫之間的邏輯一致性。不同數(shù)據(jù)庫表的導(dǎo)出狀態(tài)可以完全不同。

13導(dǎo)出存儲過程和自定義函數(shù)--routines, -R

mysqldump -uroot -p --host=localhost --all-databases --routines 

參數(shù)說明:

--all-databases , -A導(dǎo)出全部數(shù)據(jù)庫。mysqldump -uroot -p --all-databases--all-tablespaces , -Y導(dǎo)出全部表空間。mysqldump -uroot -p --all-databases --all-tablespaces--no-tablespaces , -y不導(dǎo)出任何表空間信息。mysqldump -uroot -p --all-databases --no-tablespaces--add-drop-database每個數(shù)據(jù)庫創(chuàng)建之前添加drop數(shù)據(jù)庫語句。mysqldump -uroot -p --all-databases --add-drop-database--add-drop-table每個數(shù)據(jù)表創(chuàng)建之前添加drop數(shù)據(jù)表語句。(默認(rèn)為打開狀態(tài),使用--skip-add-drop-table取消選項)mysqldump -uroot -p --all-databases (默認(rèn)添加drop語句)mysqldump -uroot -p --all-databases 

主站蜘蛛池模板:
榆林市|
宁国市|
玉溪市|
西吉县|
沙洋县|
兴业县|
龙川县|
正镶白旗|
寻乌县|
交城县|
朝阳市|
沁阳市|
博客|
土默特左旗|
千阳县|
社旗县|
汪清县|
罗甸县|
新建县|
北辰区|
贵定县|
苗栗县|
桐城市|
漾濞|
玛纳斯县|
砚山县|
泰安市|
涪陵区|
和平区|
抚顺市|
富阳市|
沅江市|
镇赉县|
邢台市|
大庆市|
兰考县|
尚志市|
南平市|
北辰区|
洞口县|
察隅县|