MySQL 8.3 Release Notes
克隆插件支持以下语法来本地克隆数据,即从本地 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 服务器必须具有创建目录的必要写入访问权限。
Note
本地克隆操作不支持克隆位于数据目录外部的用户创建的表或表空间。尝试克隆这些表或表空间将导致以下错误:ERROR 1086 (HY000): File '/path/to/tablespace_name.ibd
' already exists。克隆具有相同路径的表空间将导致冲突,因此禁止这样做。
所有其他用户创建的 InnoDB
表和表空间、InnoDB
系统表空间、重做日志和撤销表空间都将克隆到指定的目录。
如果需要,在克隆操作完成后,可以在克隆的目录上启动 MySQL 服务器。
$> mysqld_safe --datadir=clone_dir
其中 clone_dir
是数据克隆到的目录。
有关监控克隆操作状态和进度的信息,请参阅 第 7.6.7.10 节,“监控克隆操作”。