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