mysqldump-一个MySQL数据库备份程序

mysqldump客户端实用程序有助于执行逻辑备份,从而产生一组SQL语句,可以执行这些语句来重现原始的数据库对象定义和表数据。

mysqldump的用法

  • 它转储一个或多个MySQL数据库以进行备份或转移到另一台SQL服务器。

  • mysqldump命令还生成CSV,其他定界文本或XML格式的输出。

  • 实用程序mysqldump至少对转储表具有SELECT特权,对转储视图至少具有SHOW VIEW,对于转储触发器具有TRIGGER,如果不使用--single-transaction选项,则需要LOCK TABLES;如果不使用--no-tablespaces选项,则至少需要PROCESS 。

  • 可以出于开发和DBA工作的目的而克隆数据库,也可以将其用于生成测试目的可能需要的现有数据库的细微变化。

  • 对于大规模备份和还原,建议进行物理备份,然后以原始格式复制数据文件,从而快速恢复数据:

  • 如果这些表主要是InnoDB表,或者混合使用InnoDB和MyISAM表,则mysqlbackup命令用于MySQL Enterprise Backup产品。它为InnoDB备份提供最佳性能,并且中断最少。

  • mysqldump还可以用于逐行检索和转储表内容,或者可以用于从表中检索整个内容并将其缓冲在内存中,然后再转储。

语法

有三种方法可以使用mysqldump来转储一组一个或多个表,一组一个或多个完整数据库或整个MySQL服务器。它们已显示如下-

shell> mysqldump [options] db_name [tbl_name ...]
shell> mysqldump [options] --databases db_name ...
shell> mysqldump [options] --all-databases

如果用户希望转储整个数据库,则不应命名db_name之后的表,或者必须使用--databases或--all-databases选项。