共计 1754 个字符,预计需要花费 5 分钟才能阅读完成。
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
(3)、使用 - c 参数,使得 insert into 语句中增加了表的列名,见如下截图:
# mysqldump -uroot -p -c test city > city.txt
(4)、加了 - d 参数,使得 mysqldump 只导出了 city 表的表结构,表数据未被导出,见如下截图:
# mysqldump -uroot -p -d test city > city.txt
使用 mysqldump 进行 MariaDB 的备份 http://www.linuxidc.com/Linux/2015-07/120294.htm
使用 mysqldump 导出数据库 http://www.linuxidc.com/Linux/2014-10/108192.htm
基于 mysqldump 快速搭建从库 http://www.linuxidc.com/Linux/2015-04/116170.htm
恢复 mysqldump 创建的备份集 http://www.linuxidc.com/Linux/2015-02/113631.htm
使用 mysqldump 命令行工具创建逻辑备份 http://www.linuxidc.com/Linux/2015-02/113629.htm
mysqldump 实现数据库逻辑备份 http://www.linuxidc.com/Linux/2015-08/121551.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-07/133246.htm