Documentation Home
MySQL 8.0 参考手册  / 第 4 章 MySQL 程序  / 4.6 管理和实用程序  /  4.6.10 mysqlhotcopy——数据库备份程序

4.6.10 mysqlhotcopy——数据库备份程序

笔记

此实用程序在 MySQL 5.6.20 中已弃用,并在 MySQL 5.7 中删除

mysqlhotcopy是最初由 Tim Bunce 编写和贡献的 Perl 脚本。它使用 FLUSH TABLESLOCK TABLEScpscp来进行数据库备份。这是备份数据库或单个表的快速方法,但它只能在数据库目录所在的同一台机器上运行。 mysqlhotcopy仅适用于备份 MyISAMARCHIVE表。它在 Unix 上运行。

要使用mysqlhotcopy,您必须具有对要备份的表的文件的读取访问 SELECT权限、这些表的权限、RELOAD权限(能够执行FLUSH TABLES)和LOCK TABLES权限(能够锁定表)。

mysqlhotcopy db_name [/path/to/new_directory]
mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory

备份给定数据库中与正则表达式匹配的表:

mysqlhotcopy db_name./regex/

表名的正则表达式可以通过在其前面加上波浪号 ( ~) 来取反:

mysqlhotcopy db_name./~regex/

mysqlhotcopy支持以下选项,可以在命令行或 选项文件的组中指定[mysqlhotcopy][client]有关 MySQL 程序使用的选项文件的信息,请参阅 第 4.2.2.2 节,“使用选项文件”

表 4.22 mysqlhotcopy 选项

选项名称 描述
--addtodest 不要重命名目标目录(如果存在);只需向其中添加文件
--allowold 如果目标存在,不要中止;通过添加 _old 后缀重命名它
--检查点 插入检查点条目
--chroot mysqld 在其中运行的 chroot jail 的基本目录
--调试 写调试日志
--试运行 报告操作而不执行它们
--flushlog 锁定所有表后刷新日志
- 帮助 显示帮助信息并退出
- 主持人 MySQL 服务器所在的主机
--keepold 完成后不要删除以前的(重命名的)目标
- 方法 复制文件的方法
--noindices 不要在备份中包含完整的索引文件
--old_server 连接到不支持 FLUSH TABLES tbl_list WITH READ LOCK 的服务器
- 密码 连接到服务器时使用的密码
- 港口 用于连接的 TCP/IP 端口号
- 安静的 除错误外保持沉默
--正则表达式 复制名称与给定正则表达式匹配的所有数据库
--resetmaster 锁定所有表后重置二进制日志
--resetslave 锁定所有表后重置 master.info 文件
- 插座 要使用的 Unix 套接字文件或 Windows 命名管道
--tmpdir 临时目录
- 用户 连接到服务器时使用的 MySQL 用户名

用于perldoc其他 mysqlhotcopy文档,包括有关 --checkpoint--record_log_pos选项所需的表结构的信息:

perldoc mysqlhotcopy