MySQL的Clone插件咋用
发布时间:2022-06-14 14:34 所属栏目:115 来源:互联网
导读:今天小编给大家分享一下MySQL的Clone插件怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 克隆插件简介 MySQL 8.0.17引入了C
今天小编给大家分享一下MySQL的Clone插件怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 克隆插件简介 MySQL 8.0.17引入了Clone插件,可以进行本地或从远程MySQL服务器实例进行克隆,克隆的数据是存储在InnoDB中的数据的物理快照,包括schemas、tables、tablespaces和数据字典元数据。克隆操作包括本地克隆和远程克隆。 安装克隆插件 使用Clone插件进行克隆操作,必须先进行插件的安装和配置。插件的名称是mysql_clone.so,安装有两种方法。 方法1: 运行时加载该插件,使用INSTALL PLUGIN进行安装,并将插件注册到mysql.plugin系统表中: install plugin clone soname 'mysql_clone.so'; 安装后,可在information_schema.plugins表或通过show plugins查看。 方法2: MySQL数据库的插件默认放在系统变量plugin_dir对应的目录中,在MySQL服务器启动时使用--plugin-load-add选项加载该插件即可,但该方法需每次启动服务器都需要指定对应的选项,可以将其配置到my.cnf文件中,即: [mysqld] plugin-load-add=mysql_clone.so 克隆本地数据 本地克隆数据是将MySQL数据目录克隆相同服务器或节点到另一个目录 支持的语法如下, CLONE LOCAL DATA DIRECTORY [=] '/path/to/clone_dir' 执行上述语句,对应的用户需要有BACKUP_ADMIN权限,而且用户创建的文件或表空间必须在数据目录中,同时,克隆的目的地需指定绝对路径,目录完整路径必须存在,但clone_dir必须不存在。 克隆远程数据 克隆远程MySQL服务器实例(donor)并将其传输至执行克隆操作的MySQL实例(recipient),支持的克隆远程数据的语法如下: CLONE INSTANCE FROM 'user'@'host':port IDENTIFIED BY 'password' [ DATA DIRECTORY [ = ] 'clone_dir' ] [ REQUIRE [ NO ] SSL ] 其中, user 是donor MySQL服务器实例的用户名; password是user的密码; host是donor MySQL服务器实例的hostname地址,目前支持IPv4,不支持IPv6,但可使用别名; port是donor MySQL服务器实例的端口号; DATA DIRECTORY [ = ] 'clone_dir'是可选的子句用于指定接收克隆数据的目录,不指定该选项会覆盖已存在的数据文件,指定该选项可将克隆数据传输至该目录; REQUIRE [ NO ] SSL显式指定是否使用加密连接; 执行克隆操作,克隆插件必须在donor和recipient MySQL服务器实例激活,在donor服务器实例,克隆用户需要BACKUP_ADMIN权限,在recipient服务器实例,克隆用户需要CLONE_ADMIN权限,CLONE_ADMIN权限包括BACKUP_ADMIN和SHUTDOWN权限。 几个变量控制远程克隆操作的各个方面; 演示:克隆远程数据 默认将数据克隆到recipient端的数据目录,并使用donor的数据进行覆盖,然后进行自动重启recipient端的MySQL服务器实例 1)登录到donor MySQL服务器实例,创建用户并安装插件(若安装可忽略) mysql> create user 'donor_clone_user' identified by 'donor_clone_user'; Query OK, 0 rows affected (0.02 sec) mysql> grant backup_admin on *.* to donor_clone_user; Query OK, 0 rows affected (0.01 sec) 2)登录到recipient MySQL服务器实例,创建账户并安装插件,并设置clone_valid_donor_list mysql> create user recipient_clone_user identified by 'recipient_clone_user'; Query OK, 0 rows affected (0.04 sec) mysql> grant clone_admin,backup_admin on *.* to recipient_clone_user; Query OK, 0 rows affected (0.01 sec) mysql> install plugin clone soname 'mysql_clone.so'; Query OK, 0 rows affected (0.01 sec) mysql> set global clone_valid_donor_list='192.168.56.53:3306'; Query OK, 0 rows affected (0.00 sec) 3)登录到recipient MySQL服务器实例,使用 recipient_clone_user用户或root用户执行克隆操作,操作完成后会自动重启 mysql> clone instance from 'donor_clone_user'@'192.168.56.81':3306 identified by 'donor_clone_user'; Query OK, 0 rows affected (51.08 sec) 注:将donor的数据克隆到recipient端默认会覆盖其数据文件,也可以指定一个目录进行克隆,如下: mysql> clone instance from 'donor_clone_user'@'192.168.56.81':3306 identified by 'donor_clone_user' data directory='/mysql/clone/clone_data'; Query OK, 0 rows affected (51.17 sec) 使用新目录启动MySQL服务器实例: [root@node2 clone]# mysqld --lower-case-table-names=1 --datadir=/mysql/clone/clone_data/ --user=mysql & 以上就是“MySQL的Clone插件怎么用”这篇文章的所有内容,感谢各位的阅读! (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读