Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


7.6.7.2 本地克隆数据

clone 插件支持以下语法来本地克隆数据,即从本地 MySQL 数据目录到同一服务器或节点上的另一个目录:

CLONE LOCAL DATA DIRECTORY [=] 'clone_dir';

要使用 CLONE 语法,必须安装 clone 插件。安装说明见第7.6.7.1节,“安装 clone 插件”

执行 CLONE LOCAL DATA DIRECTORY 语句需要BACKUP_ADMIN 权限。

mysql> GRANT BACKUP_ADMIN ON *.* TO 'clone_user';

其中,clone_user 是执行克隆操作的 MySQL 用户。您选择执行克隆操作的用户可以是拥有BACKUP_ADMIN 权限的任何 MySQL 用户 *

以下示例演示了本地克隆数据:

mysql> CLONE LOCAL DATA DIRECTORY = '/path/to/clone_dir';

其中,/path/to/clone_dir 是数据被克隆到的本地目录的全路径。绝对路径是必需的,指定的目录(“clone_dir”)不能存在,但指定的路径必须是一个已存在的路径。MySQL 服务器必须拥有创建目录所需的写权限。

Note

本地克隆操作不支持克隆用户创建的表或表空间,如果尝试克隆这些表或表空间将出现以下错误:ERROR 1086 (HY000): 文件'/path/to/tablespace_name.ibd'已经存在。克隆与源表空间路径相同的表空间将导致冲突因此被禁止。

所有其他用户创建的InnoDB表和表空间、InnoDB系统表空间、redo日志和undo表空间都被克隆到指定目录中。

如果需要,可以在克隆操作完成后启动 MySQL 服务器。

$> mysqld_safe --datadir=clone_dir

其中,clone_dir 是数据被克隆到的目录。

关于监控克隆操作状态和进度的信息,请参见第7.6.7.10节,“监控克隆操作”