加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_镇江站长网 (https://www.0511zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

用mysqldump制作MySQL的文本备份 - MySQL教程

发布时间:2014-05-13 14:08:47 所属栏目:MySql教程 来源:站长网
导读:在使用mysqldump备份MySQL时,备份文件是SQL格式的文本文件,它由一系列create table和insert语句组成。恢复 时,只要把该SQL文件作为mysql程序的输入即可,如
在使用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形式,表示把它排除在导出文件里。

查看本栏目更多精彩内容:http://www.bianceng.cn/database/MySQL/

(编辑:应用网_镇江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!