mysqldump - MySQL 数据库备份程序
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 选项。