介绍:
mysql 8.0.19 之后的版本引入了一个新功能: 克隆--Clone
克隆功能允许从本地或者远端克隆一个数据库实例,克隆数据是Innodb存储数据的一个物理快照,包含schema,table,表空间,和数据字典元数据,克隆数据包含一个功能齐全的数据目录,允许使用mysql服务器的克隆插件;
本地克隆:
本地克隆会从mysql本地运行的实例克隆数据到指定的克隆目录;
远端克隆:
远端克隆涉及本地实例,称为recipient(即操作克隆的实例), 和远端实例,称为donor;
远端克隆被初始化时,数据会从donor发送给recipient;
注意:默认情况下,克隆操作会删除数据目录,并且使用克隆数据进行替换; 你可以指定一个另外的目录来放置克隆数据,来避免数据被无故删除;
克隆的两套实例功能都完全一致; 克隆插件支持replication 功能来启用一个新的从库;
对于远端克隆来说,本地和远端都需要安装克隆插件
安装
Step1: 确认本地插件目录下是否有克隆模块
mysql> select @@plugin_dir;
+-----------------------------------+
| @@plugin_dir |
+-----------------------------------+
| /export/servers/mysql/lib/plugin/ |
+-----------------------------------+
1 row in set (0.00 sec)
mysql> \! ls /export/servers/mysql/lib/plugin/ | grep clone
mysql_clone.so
Step2: 安装插件:
方法一:每次启动的时候添加参数--plugin-load-add=mysql_clone.so 需要重启
方法二:修改my.cnf配置文件,添加: plugin-load-add=mysql_clone.so 重启生效
方法三:使用在线安装命令:INSTALL PLUGIN clone SONAME 'mysql_clone.so'; 不需要重启
Step3: 功能查看验证
SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'clone';
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'clone';
+-------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+-------------+---------------+
| clone | ACTIVE |
+-------------+---------------+
1 row in set (0.00 sec)