克隆插件支持以下语法在本地克隆数据;即,将数据从本地 MySQL 数据目录克隆到 MySQL 服务器实例运行的同一服务器或节点上的另一个目录:
CLONE LOCAL DATA DIRECTORY [=] 'clone_dir';
要使用CLONE
语法,必须安装克隆插件。有关安装说明,请参阅
第 5.6.7.1 节 “安装克隆插件”。
执行语句
BACKUP_ADMIN
需要特权。CLONE
LOCAL DATA DIRECTORY
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 服务器必须具有创建目录所需的写入权限。
本地克隆操作不支持克隆驻留在数据目录之外的用户创建的表或表空间。尝试克隆此类表或表空间会导致以下错误:错误 1086 (HY000): 文件“ /path/to/tablespace_name.ibd
”已存在。克隆与源表空间具有相同路径的表空间会导致冲突,因此被禁止。
所有其他用户创建的InnoDB
表和表空间、InnoDB
系统表空间、重做日志和撤消表空间都被克隆到指定目录。
如果需要,您可以在克隆操作完成后在克隆的目录上启动 MySQL 服务器。
$> mysqld_safe --datadir=clone_dir
clone_dir
数据被克隆到的目录
在哪里。
有关监控克隆操作状态和进度的信息,请参阅第 5.6.7.10 节,“监控克隆操作”。