mysql dump 导出数据表_使用mysqldump导出数据库(表)

MySQLdump用来备份数据库或在不同数据库之间迁移数据,mydqldump的备份内容包括用来创建表和装载表的SQL语句。

一、mysqldump使用方法

(1)、备份单个数据库或数据库中的部分表,使用mysqldump导出之前,会锁定表的写操作,当数据导出完成后,锁被释放。

shell> mysqldump [options] db_name [table_name]

(2)、备份指定的一个或多个数据库

shell> mysqldump [options] --database DB1 [DB2,DB3,...]

shell> mysqldump [options] -B DB1 [DB2,DB3,...]

(3)、备份服务器上的所有数据库

shell> mysqldump [options] --all-database

shell> mysqldump [options] -A

二、mysqldump主要参数

-u,--user=username # 指定用户名

-p,--password=password # 指定密码

-h,--host=hostname # 指定服务器ip

-P,--port=port # 指定连接端口

--add-drop-database # 在每个数据库创建语句前加上drop database语句

--add-drop-table # 在每个表创建语句前加上drop table语句

-n,--no-create-db # 不包括数据库的创建语句

-t,--no-create-info # 不包括数据表的创建语句

-d,--no-data # 不包括数据

--compact # 输出更为简洁,不包括各种注释语句

-c,--complete-insert # 使输出文件中的insert语句包括字段名称,默认不包括字段名称

-F,--flush-logs # 备份前刷新日志

-l,--lock-tables # 备份期间对所有表加锁

--help mysqldump # 命令帮助

三、字符集选项

--default-character-set选项可以设置导出的客户端字符集,这个选项在导出数据库的时候非常重要,如果客户端字符集和数据库字符集不一致,数据库在导出的时候就可能需要字符集转换,将数据库字符集转换为客户端字符集,讲过转换后的数据可能变成乱码或“?”等特殊字符,使得备份文件无法恢复。

四、mysqldump实战

(1)、备份test数据库下的city表

# mysqldump -uroot -p test city > city.txt

(2)、由于客户端和服务器的字符集不一致,导出文件变成乱码,导致无法导入,见如下截图:

# mysqldump -uroot -p --default-character-set=latin1 test city > city.txt

mysql dump 导出数据表_使用mysqldump导出数据库(表)_第1张图片

(3)、使用-c参数,使得insert into语句中增加了表的列名,见如下截图:

# mysqldump -uroot -p -c test city > city.txt

mysql dump 导出数据表_使用mysqldump导出数据库(表)_第2张图片

(4)、加了-d参数,使得mysqldump只导出了city表的表结构,表数据未被导出,见如下截图:

# mysqldump -uroot -p -d test city > city.txt

mysql dump 导出数据表_使用mysqldump导出数据库(表)_第3张图片

0b1331709591d260c1c78e86d0c51c18.png

你可能感兴趣的:(mysql,dump,导出数据表)