mysql指令 常用功用ITeye - 乐橙lc8

mysql指令 常用功用ITeye

2019-01-12 14:06:56 | 作者: 怀蕾 | 标签: 指令,导出,数据库 | 浏览: 334

-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"  

最常见的mysqldump运用或许制造整个数据库的一个备份:  

mysqldump --opt database backup-file.sql   

可是它对用来自于一个数据库的信息充分别的一个MySQL数据库也是有用的:   

mysqldump --opt database | mysql --host=remote-host -C database   

由于mysqldump导出的是完好的SQL句子,所以用mysql客户程序很简略就能把数据导入了:   

shell mysqladmin create target_db_name   

shell mysql target_db_name backup-file.sql  

就是  

shell mysql 库名 文件名 

--------------------- 几个常用用例------------------  

1.导出整个数据库

 mysqldump -u 用户名 -p 数据库名(直接输入数据库姓名不必带途径) 导出的文件名      

mysqldump -uroot -p boss boss_back.sql 

2.导出一个表(包括表的数据)  mysqldump -u 用户名 -p 数据库名 表名 导出的文件名  

mysqldump -u wcnc -p boss users boss_users.sql  

3.导出一个数据库的一切结构  

mysqldump -u wcnc -p -d --add-drop-table boss /mysqlbackup/bossboss_db.sql     

-d 没有数据 --add-drop-table 在每个create句子之前增加一个drop table   

4、导出一个表的结构  

mysqldump -u 用户名 -p -d --add-drop-table 数据库名 表名 /mysqlbackup/boss_db.sql  

 

 

复原部分分(1)mysql指令行source办法  和 (2)体系指令行办法

1.复原悉数数据库:

(1) 常用source 指令

  进入mysql     mysql -u root -p  

  mysql use 数据库

  然后运用source指令,后边参数为脚本文件(如这儿用到的.sql)

  mysql source /mysqlbackup/boss_db.sql

(2) 体系指令行: mysql -uroot -p123456 f:\all.sql

2.复原单个数据库(需指定数据库)

(1) mysql use mydb

mysql source f:\mydb.sql

(2) mysql -uroot -p123456 mydb f:\mydb.sql

3.复原单个数据库的多个表(需指定数据库)

(1) mysql use mydb

mysql source f:\multables.sql

(2) mysql -uroot -p123456 mydb f:\multables.sql

4.复原多个数据库,(一个备份文件里有多个数据库的备份,此刻不需求指定数据库)

(1) mysql指令行:mysql source f:\muldbs.sql

(2) 体系指令行: mysql -uroot -p123456 f:\muldbs.sql

 

---------------------------------第二篇------------------------

最近在作业的时分,要将本来在本机开发的 MySQL存储进程迁往另一Linux操作体系下的MySQL数据库,由于表结构等现已在方针数据库中存在了, 不想直接复制数据库曩昔,所以用到了 MySQL的存储进程导出和导入,经上网查找发现用Mysqldump东西能够完结,详细用法为:

 [root@localhost bin]# mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName procedure_name.sql

参数阐明:

-n:   --no-create-db (没有创立数据库的信息)

-d:   --no-data     (不导出数据)

-t:   --no-create-info (没有创立数据库表的信息)

-R:   --routines      Dump stored routines (functions and procedures)

-E:  --events  (导出数据库中events)

-A:  --all-databases (导出一切的数据库)

-B:  --databases db1 db2 (导出指定的数据库)

    Mysqldump是客户端东西用来备份数据库或在不同数据库之间进行数据搬迁。备份内容包括创立活装载表的SQL句子:

主要参数介绍:

1.衔接选项

  -u,--user=name

  -p,--password=name

  -h,--host=name

  -P,--port=#

2.输出内容选项

 --add-drop-database (默许是主动加上的)

 --add-drop-table     (默许是主动加上的)

 -n;--no-create-db

 -d;--no-data

 -t;--no-create-info

3.输出格局选项

--compact (精简格局,将导出时的一些补白省掉)

-c --complete-insert (导出数据的句子中,在insert to table values后加上各个字段,如insert into table(tab1,tab2,…) values(value1,value2,…))

-T(指定数据表中的数据备份为单纯的数据文件和建表SQL两个文件)

在mysqldump协助文档中的阐明:

-T, --tab=name      Creates tab separated textfile for each table to given

                           path. (creates .sql and .txt files). NOTE: This only

                          works if mysqldump is run on the same machine as the

                           mysqld daemon.

这儿提示,运用-T参数时有必要确保运转mysqldump指令的客户端有必要与mysqld效劳器实例在同一台机器上。

经 测验可知xx.sql建表文件是以linux的root用户创立,而xx.txt文件则是以linux的mysql用户创立,因而xxx.txt文件的存 放途径必定要确保mysql用户有读写创立文件的权限。在长途运用-T备份mysql的表时是不答应的,假设你非的这么运用你会发现在本地只是会创立 xxx.sql文件,而xxx.txt文件则没有,它有或许在长途运转mysqld的效劳器上呈现(只是是或许,确保长途运转mysqld的linux服 务器和本地linux有相同的途径和用户权限)。

--fields-terminated-by=name(域分隔符)

--fields-enclosed-by=name(域引证符)

--fields-optionally-enclosed-by=name(域引证可选字符)

--fields-escaped-by=name(转义字符)

域引证符和域引证可选字符在一次导出中不能一起运用,域引证可选字符只对以为需求引证的字段作引证,而域引证符对一切的字段都要作引证。

 

4.字符集选项

--default--character-set=xx

5.其他选项

-F --flush-logs(备份前改写日志)

-l --lock-tables(给一切的表加读锁)

---------------------------------------第三篇--------------------------------

MySQL有许多能够导入数据的办法,可是这些只是数据传输中的一半,别的的一般是从MySQL数据库中导出数据。有许多的原因咱们需求导出数据。 一个重要的原因是用于备份数据库。数据的造价常常是贵重的,需求慎重处理它们。经常地备份能够协助避免名贵数据地丢掉;别的一个原因是,或许您期望导出数 据来同享。 在这个信息技术不断生长的国际中,同享数据变得越来越常见。 

比方说Macmillan USA保护护着一个即将出书的书本的大型数据库。这个数据库在许多书店之间同享,这样他们就知道哪些书将会很快出书。医院越来越走向选用无纸病历记载,这 样这些病历能够随时跟着你。国际变得越来越小,信息也被同享得越来越多。有许多中导出数据得办法,它们都跟导入数据很相似。由于,究竟,这些都只是一种透 视得办法。从数据库导出的数据就是从另一端导入的数据。这儿咱们并不评论其他的数据库各式各样的导出数据的办法,您将学会如何用MySQL来完结数据导 出。

运用mysqldump: 

(mysqldump指令坐落mysql/bin/目录中)  

mysqldump东西许多方面相似相反效果的东西mysqlimport。它们有一些相同的选项。但mysqldump能够做更多的作业。它 能够把整个数据库装载到一个独自的文本文件中。这个文件包括有一切重建您的数据库所需求的SQL指令。这个指令获得一切的形式(Schema,后边有解 释)而且将其转换成DDL语法(CREATE句子,即数据库界说句子),获得一切的数据,而且从这些数据中创立INSERT句子。这个东西将您的数据库中 一切的规划倒转。由于一切的东西都被包括到了一个文本文件中。这个文本文件能够用一个简略的批处理和一个适宜SQL句子导回到MySQL中。这个东西令人 难以置信地简略而快速。决不会有半点让人头疼地当地。 

因而,假设您像装载整个数据库Meet_A_Geek的内容到一个文件中,能够运用下面的指令:  

bin/mysqldump –p Meet_A_Geek MeetAGeek_Dump_File.txt 

这个句子也答应您指定一个表进行dump(备份/导出/装载?)。假设您只是期望把数据库Meet_A_Geek中的表Orders中的整个内容导出到一个文件,能够运用下面的指令:  

bin/mysqldump –p Meet_A_Geek Orders MeetAGeek_Orders.txt 

这个十分的灵敏,您乃至能够运用WHERE从句来挑选您需求的记载导出到文件中。要到达这样的意图,能够运用相似于下面的指令:  

bin/mysqldump –p –where="Order_ID 2000" Meet_A_Geek Orders Special_Dump.txt 

mysqldump东西有许多的选项,部分选项如下表:  

选项/Option 效果/Action Performed  

--add-drop-table 

这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS句子,这样能够确保导回MySQL数据库的时分不会犯错,由于每次导回的时分,都会首要查看表是否存在,存在就删去  

--add-locks  

这个选项会在INSERT句子中捆上一个LOCK TABLE和UNLOCK TABLE句子。这就避免在这些记载被再次导入数据库时其他用户对表进行的操作 

-c or - complete_insert  

这个选项使得mysqldump指令给每一个发作INSERT句子加上列(field)的姓名。当把数据导出导别的一个数据库时这个选项很有用。  

--delayed-insert 在INSERT指令中参加DELAY选项  

-F or -flush-logs 运用这个选项,在履行导出之前将会改写MySQL效劳器的log.  

-f or -force 运用这个选项,即便有过错发作,依然持续导出  

--full 这个选项把附加信息也加到CREATE TABLE的句子中  

-l or -lock-tables 运用这个选项,导出表的时分效劳器将会给表加锁。  

-t or -no-create- info  

这个选项使的mysqldump指令不创立CREATE TABLE句子,这个选项在您只需求数据而不需求DDL(数据库界说句子)时很便利。 

-d or -no-data 这个选项使的mysqldump指令不创立INSERT句子。  

在您只需求DDL句子时,能够运用这个选项。 

  --opt 此选项将翻开一切会进步文件导出速度和发明一个能够更快导入的文件的选项。   

-q or -quick 这个选项使得MySQL不会把整个导出的内容读入内存再履行导出,而是在读到的时分就写入导文件中。  

-T path or -tab = path 这个选项将会创立两个文件,一个文件包括DDL句子或许表创立句子,另一个文件包括数据。DDL文件被命名为table_name.sql,数据文件被命 名为table_name.txt.途径名是寄存这两个文件的目录。目录有必要现已存在,而且指令的运用者有对文件的特权。 

-w "WHERE Clause" or -where = "Where clause "  

如前面所讲的,您能够运用这一选项来过挑选即将放到 导出文件的数据。 

假定您需求为一个表单中要用到的帐号树立一个文件,司理要看本年(2004年)一切的订单(Orders),它们并不对DDL感兴趣,而且需求文件有逗号分隔,由于这样就很简略导入到Excel中。 为了完结这个人物,您能够运用下面的句子:  

bin/mysqldump –p –where "Order_Date =2000-01-01" 

–tab = /home/mark –no-create-info –fields-terminated-by=, Meet_A_Geek Orders 

 

这将会得到您想要的成果。 

schema:形式  

The set of statements, expressed in data definition language, that completely describe the structure of a data base.  

一组以数据界说言语来表达的句子集,该句子集完好地描绘了数据库的结构。 

SELECT INTO OUTFILE :  

假设您觉得mysqldump东西不行酷,就运用SELECT INTO OUTFILE吧, MySQL相同供给一个跟LOAD DATA INFILE指令有相反效果的指令,这就是SELECT INTO OUTFILE 指令,这两个指令有许多的相似之处。首要,它们有一切的选项简直相同。现在您需求完结前面用mysqldump完结的功用,能够按照下面的进程进行操 作: 

1. 确保mysqld进程(效劳)现已在运转  

2. cd /usr/local/mysql  

3. bin/mysqladmin ping ;// 假设这个句子通不过,能够用这个:mysqladmin -u root -p ping  

mysqladmin ping用于检测mysqld的状况,is alive阐明正在运转,犯错则或许需求用户名和暗码。  

4. 发动MySQL 监听程序.  

5. bin/mysql –p Meet_A_Geek;// 进入mysql指令行,而且翻开数据库Meet_A_Geek,需求输入暗码  

6. 在指令行中,输入一下指令:  

SELECT * INTO OUTFILE /home/mark/Orders.txt 

FIELDS 

TERMINATED BY = , 

FROM Orders 

WHERE Order_Date = 2000-01-01 

 

在你按了Return(回车)之后,文件就创立了。这个句子就像一个规矩的SELECT句子,只是把想屏幕的输出重定向到了文件中。这意味这您能够运用JOIN来完结多表的高档查询。这个特色也能够被用作一个报表发作器。 

比方说,您能够组合这一章中评论的办法来发作一个十分风趣的查询,试试这个: 

在mysql目录树立一个名为Report_G.rpt 的文本文件,参加下面的行:  

USE Meet_A_Geek; 

INSERT INTO Customers (Customer_ID, Last_Name, First_Name) 

VALUES (NULL, "Kinnard", "Vicky"); 

INSERT INTO Customers (Customer_ID, Last_Name, First_Name) 

VALUES (NULL, "Kinnard", "Steven"); 

INSERT INTO Customers (Customer_ID, Last_Name, First_Name) 

VALUES (NULL, "Brown", "Sam"); 

SELECT Last_Name INTO OUTFILE /home/mark/Report.rpt 

FROM Customers WHERE Customer_ID   

然后承认 mysql进程在运转,而且您在mysql目录中, 输入下面的指令: 

 

bin/mysql Report_G.rpt查看您命名作为输出的文件,这个文件将会包括一切您在Customers表中输入的顾客的姓。 如您所见,您能够运用今日学到的导入/导出(import/export)的办法来协助得到报表。

---------------------------第四篇-----------------------------------

Mysqldump参数大全(参数来源于mysql5.5.19源码)

 

参数 参数阐明

--all-databases , -A 导出悉数数据库。

mysqldump -uroot -p --all-databases

--all-tablespaces , -Y 导出悉数表空间。

mysqldump -uroot -p --all-databases --all-tablespaces

--no-tablespaces , -y 不导出任何表空间信息。

mysqldump -uroot -p --all-databases --no-tablespaces

--add-drop-database 每个数据库创立之前增加drop数据库句子。

mysqldump -uroot -p --all-databases --add-drop-database

--add-drop-table 每个数据表创立之前增加drop数据表句子。(默许为翻开状况,运用--skip-add-drop-table撤销选项)

mysqldump -uroot -p --all-databases (默许增加drop句子) 

mysqldump -uroot -p --all-databases --skip-add-drop-table (撤销drop句子)

--add-locks 在每个表导出之前增加LOCK TABLES而且之后UNLOCK TABLE。(默许为翻开状况,运用--skip-add-locks撤销选项)

mysqldump -uroot -p --all-databases (默许增加LOCK句子) 

mysqldump -uroot -p --all-databases --skip-add-locks (撤销LOCK句子)

--allow-keywords 答应创立是关键词的列姓名。这由表名前缀于每个列名做到。

mysqldump -uroot -p --all-databases --allow-keywords

--apply-slave-statements 在CHANGE MASTER前增加STOP SLAVE,而且在导出的最终增加START SLAVE。

mysqldump -uroot -p --all-databases --apply-slave-statements

--character-sets-dir 字符集文件的目录

mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets

--comments 附加注释信息。默许为翻开,能够用--skip-comments撤销

mysqldump -uroot -p --all-databases (默许记载注释) 

mysqldump -uroot -p --all-databases --skip-comments (撤销注释)

--compatible 出的数据将和其它数据库或旧版别的 MySQL 相兼容。值能够为 ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、 no_tables_options、no_field_options等, 

要运用几个值,用逗号将它们离隔。它并不确保能彻底兼容,而是尽量兼容。

mysqldump -uroot -p --all-databases --compatible=ansi

--compact 导出更少的输出信息(用于调试)。去掉注释和头尾等结构。能够运用选项:--skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys

mysqldump -uroot -p --all-databases --compact

--complete-insert, -c 运用完好的insert句子(包括列称号)。这么做能进步刺进功率,可是或许会遭到max_allowed_packet参数的影响而导致刺进失利。

mysqldump -uroot -p --all-databases --complete-insert

--compress, -C 在客户端和效劳器之间启用紧缩传递一切信息

mysqldump -uroot -p --all-databases --compress

--create-options, -a 在CREATE TABLE句子中包括一切MySQL特性选项。(默许为翻开状况)

mysqldump -uroot -p --all-databases

--databases, -B 导出几个数据库。参数后边一切姓名参量都被看作数据库名。

mysqldump -uroot -p --databases test mysql

--debug 输出debug信息,用于调试。默许值为:d:t:o,/tmp/mysqldump.trace

mysqldump -uroot -p --all-databases --debug 

mysqldump -uroot -p --all-databases --debug=" d:t:o,/tmp/debug.trace"

--debug-check 查看内存和翻开文件运用阐明并退出。

mysqldump -uroot -p --all-databases --debug-check

--debug-info 输出调试信息并退出

mysqldump -uroot -p --all-databases --debug-info

--default-character-set 设置默许字符集,默许值为utf8

mysqldump -uroot -p --all-databases --default-character-set=latin1

--delayed-insert 选用延时刺进办法(INSERT DELAYED)导出数据

mysqldump -uroot -p --all-databases --delayed-insert

--delete-master-logs master备份后删去日志. 这个参数将主动激活 --master-data。

mysqldump -uroot -p --all-databases --delete-master-logs

--disable-keys 于每个表,用/!40000 ALTER TABLE tbl_name DISABLE KEYS */;和/!40000 ALTER TABLE tbl_name ENABLE KEYS */;句子引证INSERT句子。这样能够更快地导入dump出来的文件,由于它是在刺进一切行后创立索引的。该选项只合适MyISAM表,默许为翻开状 态。

mysqldump -uroot -p --all-databases

--dump-slave 该选项将导致主的binlog方位和文件名追加到导出数据的文件中。设置为1时,将会以CHANGE MASTER指令输出到数据文件;设置为2时,在指令前增加阐明信息。该选项将会翻开--lock-tables选项。默许值为0。

mysqldump -uroot -p --all-databases --dump-slave=1 

mysqldump -uroot -p --all-databases --dump-slave=2

--events, -E 导出事情。

mysqldump -uroot -p --all-databases --events

--extended-insert, -e 运用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加快导入时的速度。默许为翻开状况,运用--skip-extended-insert撤销选项。

mysqldump -uroot -p --all-databases 

mysqldump -uroot -p --all-databases --skip-extended-insert (撤销选项,单行导出 )

--fields-terminated-by 导出文件中疏忽给定字段。与--all-databases选项

mysqldump -uroot -p test test --tab="/home/mysql" --fields-terminated-by="#"

--fields-enclosed-by 输出文件中的各个字段用给定字符包裹。与--all-databases选项

mysqldump -uroot -p test test --tab="/home/mysql" --fields-enclosed-by="#"

--fields-optionally-enclosed-by 输出文件中的各个字段用给定字符挑选性包裹。与--all-databases选项

mysqldump -uroot -p test test --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"

--fields-escaped-by 输出文件中的各个字段疏忽给定字符。与--all-databases选项

mysqldump -uroot -p mysql user --tab="/home/mysql" --fields-escaped-by="#"

--flush-logs 开端导出之前改写日志。 

请留意:假设一次导出多个数据库(运用选项--lock-all-tables 或许 --master-data 和 --flush-logs。

mysqldump -uroot -p --all-databases --flush-logs

--flush-privileges 在导出mysql数据库之后,宣布一条FLUSH PRIVILEGES 句子。为了正确康复,该选项应该用于导出mysql数据库和依靠mysql数据库数据的任何时分。

mysqldump -uroot -p --all-databases --flush-privileges

--force 在导出进程中疏忽呈现的SQL过错。

mysqldump -uroot -p --all-databases --force

--help 显现协助信息并退出。

mysqldump --help

--hex-blob 运用十六进制格局导出二进制字符串字段。假设有二进制数据就有必要运用该选项。影响到的字段类型有 BINARY、VARBINARY、BLOB。

mysqldump -uroot -p --all-databases --hex-blob

--host, -h 需求导出的主机信息

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

--ignore-table 不导出指定表。指定疏忽多个表时,需求重复屡次,每次一个表。每个表有必要一起指定数据库和表名。例如: --ignore-table=database.table.

mysqldump -uroot -p --all-databases --ignore-table=database.table1 --ignore-table=database.table2 ……

--include-master-host-port 在--dump-slave发作的CHANGE MASTER TO..句子中增加MASTER_HOST= host ,MASTER_PORT= port

mysqldump -uroot -p --host=localhost --all-databases --include-master-host-port

--insert-ignore 在刺进行时运用 INSERT IGNORE句子.

mysqldump -uroot -p --host=localhost --all-databases --insert-ignore

--lines-terminated-by 输出文件的每行用给定字符串区分。与--all-databases选项。

mysqldump -uroot -p --host=localhost test test --tab="/tmp/mysql" --lines-terminated-by="##"

--lock-all-tables, -x 提交恳求确定一切数据库中的一切表,以确保数据的一致性。这是一个大局读锁,而且主动封闭 --single-transaction 和 --lock-tables 选项。

mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables

--lock-tables, -l 开端导出前,确定一切表。用READ LOCAL确定表以答应MyISAM表并行刺进。关于支撑业务的表例如InnoDB和BDB,--single-transaction是一个更好的挑选,由于它底子不需求确定表。 

请留意当导出多个数据库时,--lock-tables分别为每个数据库确定表。因而,该选项不能确保导出文件中的表在数据库之间的逻辑一致性。不同数据库表的导出状况能够彻底不同。

mysqldump -uroot -p --host=localhost --all-databases --lock-tables

--log-error 附加正告和过错信息到给定文件

mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err

--master-data 该选项将binlog的方位和文件名追加到输出文件中。假设为1,将会输出CHANGE MASTER 指令;假设为2,输出的CHANGE MASTER指令前增加注释信息。该选项将翻开--lock-tables选项。

mysqldump -uroot -p --host=localhost --all-databases --master-data=1; 

mysqldump -uroot -p --host=localhost --all-databases --master-data=2;

--max_allowed_packet 效劳器发送和承受的最大包长度。

mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240

--net_buffer_length TCP/IP和socket衔接的缓存巨细。

mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024

--no-autocommit 运用autocommit/commit 句子包裹表。

mysqldump -uroot -p --host=localhost --all-databases --no-autocommit

--no-create-db, -n 只导出数据,而不增加CREATE DATABASE 句子。

mysqldump -uroot -p --host=localhost --all-databases --no-create-db

--no-create-info, -t 只导出数据,而不增加CREATE TABLE 句子。

mysqldump -uroot -p --host=localhost --all-databases --no-create-info

--no-data, -d 不导出任何数据,只导出数据库表结构。

mysqldump -uroot -p --host=localhost --all-databases --no-data

--no-set-names, -N 等同于 --skip-set-charset

mysqldump -uroot -p --host=localhost --all-databases --no-set-names

--opt 等同于--skip-opt禁用.

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

--order-by-primary 假设存在主键,或许第一个唯一键,对每个表的记载进行排序。在导出MyISAM表到InnoDB表时有用,但会使得导出作业花费很长时刻。

mysqldump -uroot -p --host=localhost --all-databases --order-by-primary

--password, -p 衔接数据库暗码

--pipe(windows体系可用) 运用命名管道衔接mysql

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

--port, -P 衔接数据库端口号

--protocol 运用的衔接协议,包括:tcp, socket, pipe, memory.

mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp

--quick, -q 不缓冲查询,直接导出到规范输出。默许为翻开状况,运用--skip-quick撤销该选项。

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

mysqldump -uroot -p --host=localhost --all-databases --skip-quick

--quote-names,-Q 运用(`)引起表和列名。默许为翻开状况,运用--skip-quote-names撤销该选项。

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

mysqldump -uroot -p --host=localhost --all-databases --skip-quote-names

--replace 运用 REPLACE INTO 替代 INSERT INTO.

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

--result-file, -r 直接输出到指定文件中。该选项应该用在运用回车换行对(

n)换行的体系上(例如:DOS,Windows)。该选项确保只要一行被运用。

mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt

--routines, -R 导出存储进程以及自界说函数。

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

--set-charset 增加SET NAMES default_character_set到输出文件。默许为翻开状况,运用--skip-set-charset封闭选项。

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

mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset

--single-transaction 选项在导出数据之前提交一个 BEGIN SQL句子,BEGIN 不会堵塞任何应用程序且能确保导出时数据库的一致性状况。它只适用于多版别存储引擎,仅InnoDB。本选项和 --lock-tables 选项是互斥的,由于 LOCK TABLES 会使任何挂起的业务隐含提交。要想导出大表的话,应结合运用 --quick 选项。

mysqldump -uroot -p --host=localhost --all-databases --single-transaction

--dump-date 将导出时刻增加到输出文件中。默许为翻开状况,运用--skip-dump-date封闭选项。

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

mysqldump -uroot -p --host=localhost --all-databases --skip-dump-date

--skip-opt 禁用 --opt选项.

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

--socket,-S 指定衔接mysql的socket文件方位,默许途径/tmp/mysql.sock

mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock

--tab,-T 为每个表在给定途径创立tab切割的文本文件。留意:只是用于mysqldump和mysqld效劳器运转在相同机器上。

mysqldump -uroot -p --host=localhost test test --tab="/home/mysql"

--tables 掩盖--databases (-B)参数,指定需求导出的表名。

mysqldump -uroot -p --host=localhost --databases test --tables test

--triggers 导出触发器。该选项默许启用,用--skip-triggers禁用它。

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

--tz-utc 在导出顶部设置时区TIME_ZONE=+00:00 ,以确保在不一起区导出的TIMESTAMP 数据或许数据被移动其他时区时的正确性。

mysqldump -uroot -p --host=localhost --all-databases --tz-utc

--user, -u 指定衔接的用户名。

--verbose, --v 输出多种渠道信息。

--version, -V 输出mysqldump版别信息并退出

--where, -w 只转储给定的WHERE条件挑选的记载。请留意假设条件包括指令解说符专用空格或字符,必定要将条件引证起来。

mysqldump -uroot -p --host=localhost --all-databases --where=" user=root"

--xml, -X 导出XML格局.

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

--plugin_dir 客户端插件的目录,用于兼容不同的插件版别。

mysqldump -uroot -p --host=localhost --all-databases --plugin_dir="/usr/local/lib/plugin"

--default_auth 客户端插件默许运用权限。

mysqldump -uroot -p --host=localhost --all-databases --default-auth="/usr/local/lib/plugin/ PLUGIN "

 

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表乐橙lc8立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章