MySQL 8.4 Release Notes
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';
其中,
是执行克隆操作的 MySQL 用户。您选择执行克隆操作的用户可以是拥有clone_user
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节,“监控克隆操作”。