视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
[MySQL]用mysqldump制造文本备份
2020-11-09 14:01:22 责编:小采
文档


[MySQL] 用mysqldump制作文本备份 在使用mysqldump备份MySQL时,备份文件是SQL式的文本文件,它由一系列create table和insert语句组成。恢复时,只要把该SQL文件作为mysql程序的输入即可,如下所示: mysqldump mydb mytbl mytbl.sqlmysql mydb mytbl.sql 注

[MySQL] 用mysqldump制作文本备份

在使用mysqldump备份MySQL时,备份文件是SQL格式的文本文件,它由一系列create table和insert语句组成。恢复时,只要把该SQL文件作为mysql程序的输入即可,如下所示:

mysqldump mydb mytbl > mytbl.sql
mysql mydb < mytbl.sql
注意:千万不要试图用mysqlimport加载由mysqldump生成的备份文件!mysqlimport只能读取数据行,不能用来读取SQL语句。

当你在命令行下敲mysqldump,后面不加如何参数,将出现如下的提示信息:

[root@lx203 ~]# mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

上面的提示信息给出了3种使用方法,下面我们将一一介绍:

1)mysqldump [OPTIONS] database [tables]

这是最常见的使用方法,给出一个数据库名,在它后面给出一个或多个表名,表示导出该数据库下指定的这几个表。

2)mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]

第二种方法使用了--databases参数,它将导出列出的数据库里的所有表

3)mysqldump [OPTIONS] --all-databases [OPTIONS]

--all-databases参数表示导出所有数据库里的所有表,包括mysql数据库里的权限表,所以一定要谨慎使用

当你在命令行下敲mysqldump --help,将会出现所有参数,下面我们将介绍主要的几个:

1)--opt

 --opt Same as --add-drop-table, --add-locks, --create-options,
 --quick, --extended-insert, --lock-tables, --set-charset,
 and --disable-keys. Enabled by default, disable with
 --skip-opt.
从什么的解释可以知道--opt将启用多个能加快速度的选项,用于备份过程的优化,它是默认启动的,一般建议启动它,--skip-opt选项可以禁用它。

但是这里需要特别注意的是:--opt选项为了加快备份速度,会在备份表上加上读锁,将导致其它用户无法修改,所以在业务繁忙时,千万不要启用该选项备份!

下面解释下--opt启用的这几个选项:

--add-drop-table:表示在每条create table语句前加上drop table if exists语句;

--add-locks:表示在生成的insert语句前后加上锁命令;

--extended-insert:表示生成一次插入多行的insert语句

--lock-tables:表示在备份表上加上读锁;

2)--single-transaction

在导出innodb和Falcon表时,最好加上该选项,可以确保得到一个稳定的备份。

3)--no-create-info --no-data

前面提到过,默认情况下,mysqldump导出的文本文件中包含create table和insert into语句,如果加上--no-create-info表示不需要create table语句,同理,--no-data表示不需要insert into语句。

4)--routines --triggers --events

默认情况下,只有触发器包含在导出的文本文件里,如果你需要导出其它的对象,可以加上相应的选项。

这三个选项还有相应的--skip形式,表示把它排除在导出文件里。

下载本文
显示全文
专题