mysqldump备份还原和备份还原和mysqldump导入导出语句大全详解导入导出语句大全详解
主要介绍了mysqldump备份还原和mysqldump导入导出语句大全详解,需要的朋友可以参考下
MYSQLdump参数详解
mysqldump备份:
复制代码 代码如下:
mysqldump -u用户名 -p密码 -h主机 数据库 a -w “sql条件” –lock-all-tables > 路径
mysqldump还原:
复制代码 代码如下:
mysqldump -u用户名 -p密码 -h主机 数据库 < 路径
mysqldump按条件导出:
复制代码 代码如下:
mysqldump -u用户名 -p密码 -h主机 数据库 a –where “条件语句” –no-建表> 路径
mysqldump -uroot -p1234 dbname a –where “tag='88′” –no-create-info> c:.sql
mysqldump按条件导入:
复制代码 代码如下:
mysqldump -u用户名 -p密码 -h主机 数据库 < 路径
案例:
复制代码 代码如下:
mysql -uroot -p1234 db1 < c:.txt
mysqldump导出表:
复制代码 代码如下:
mysqldump -u用户名 -p密码 -h主机 数据库 表
案例:mysqldump -uroot -p sqlhk9 a –no-data
主要参数
–compatible=name
它告诉 mysqldump,导出的数据将和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以为 ansi、mysql323、
mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用
几个值,用逗号将它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。
–complete-insert,-c
导出的数据采用包含字段名的完整 INSERT 方式,也就是把所有的值都写在一行。这么做能提高插入效率,但是可能会受到
max_allowed_packet 参数的影响而导致插入失败。因此,需要谨慎使用该参数,至少我不推荐。
–default-character-set=charset
指定导出数据时采用何种字符集,如果数据表不是采用默认的 latin1 字符集的话,那么导出时必须指定该选项,否则再次导入
数据后将产生乱码问题。
–disable-keys
告诉 mysqldump 在 INSERT 语句的开头和结尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER
TABLE table ENABLE KEYS */; 语句,这能大大提高插入语句的速度,因为它是在插入完所有数据后才重建索引的。该选项
只适合 MyISAM 表。
–extended-insert = true|false
默认情况下,mysqldump 开启 –complete-insert 模式,因此不想用它的的话,就使用本选项,设定它的值为 false 即可。
–hex-blob
使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有 BINARY、
VARBINARY、BLOB。
–lock-all-tables,-x
在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭 –single-
transaction 和 –lock-tables 选项。
–lock-tables