mysqldump - MySQL 数据库备份程序

mysqlmysqli database

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

mysqldump 用法

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

  • mysqldump 命令还会生成 CSV、其他分隔文本或 XML 格式的输出。

  • 实用程序 mysqldump 至少需要 SELECT 权限(用于转储表)、SHOW VIEW 权限(用于转储视图)、TRIGGER 权限(用于转储触发器)、LOCK TABLES(如果未使用 --single-transaction 选项)和 PROCESS(如果未使用 --no-tablespaces 选项)。

  • 可以克隆数据库以用于开发和 DBA 工作,或者可用于对现有数据库进行细微改动,以用于测试目的。

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

  • 如果表主要是 InnoDB 表,或者混合了 InnoDB 和 MyISAM 表,则 MySQL Enterprise Backup 产品使用 mysqlbackup 命令。它为 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 选项。


相关文章