使用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

使用mysqldump导出数据库(表)

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

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

使用mysqldump导出数据库(表)

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

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

使用mysqldump导出数据库(表)

使用mysqldump进行MariaDB 的备份 

使用mysqldump导出数据库 

基于mysqldump快速搭建从库 

恢复mysqldump创建的备份集 

使用mysqldump命令行工具创建逻辑备份 

mysqldump实现数据库逻辑备份

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2bd3de8777c07a9f2b663567d6f83e78.html