mysqldump使用笔记

mysqldump备份简述

mysqldump可产生两种类型的输出文件,取决于是否选用 --tab=dir_name选项。

1.不使用 --tab=dir_name选项,mysqldump产生的数据文件是纯文本的SQL文件,如CREATE(数据库、表、存储路径等)语句和INSERT(记录)语句组成。输出结果以一个文件保存,可用mysql命令去恢复备份文件。

2.使用 --tab=dir_name选项,mysqldump对于每一个需要备份的数据表产生两个输出文件:一个是带分隔符的文本文件,备份的数据表中的每行存储为文本中的一行,以"表名.txt"保存;另一个输出文件为数据表的CREATE TABLE语句,以"表名.sql"保存。

mysqldump语法和选项

在linux系统中,可以使用 man mysqldump命令,或者,mysqldump -hlep命令查看相关选项的使用

--all-databases表示备份系统中所有数据库,使用 --databases参数之后,必须指定至少一个数据库的名称,多个数据库名称之间用空格隔开

【常用的选项】

1.--add-drop-table

这个选项讲会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MYSQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除。

2.--add-locks

扫描二维码关注公众号,回复: 1907768 查看本文章

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

3.--tab

这个选项将会创建两个文件,一个是带分隔符的文本文件,备份的数据表中的每行存储问文本中的一行,以"表名.txt"保存;另一个输出文件为数据表的CREATE TABLE语句,以"表名.sql"保存。

4.--quick或者--opt

如果你未使用--quick或者--opt选项,那么mysqldump将在转储结果之前把全部内容载入到内存中。这在你转储大数据量的数据库时将会有些问题。该选项默认是打开的,但可以使用--skip-opt关闭它。

5.--skip-comments

该选项可以去掉导出文件中的注释语句

6.--compact

该选项可以只输出最重要的语句,而不输出注释及删除表语句等。

在windows下,可以使用下面的语句导出所有的数据库

mysqldump -h 主机名 -u 用户名 -p --all-databases > C:\备份文件名.sql

mysqldump -u用户名 -p --databases db1 db2 db3... > 备份文件名.sql

mysqldump -u用户名 -p --databases db_name > db_name.sql(--databases 会生成CRATE DATABASE 和 USE 语句)

mysqldump -u用户名 -p db_name > db_name.sql (不会生成CRATE DATABASE 和 USE 语句)

mysqldump -u用户名 -p 数据库名 表名1 表名2 表名3... > 备份文件名.sql

mysqldump -uroot -p -S /tmp/mysql3306.sock --databases db_name > db_name.sql

mysqldump -uroot -p -S /tmp/mysql3306.sock db_name > db_name.sql

猜你喜欢

转载自www.cnblogs.com/lzh007blog/p/9272250.html