文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL Clone Plugin(克隆插件,适用8.0.17+)

2018-06-07 19:44

关注

MySQL Clone Plugin(克隆插件,适用8.0.17+)

MySQL Clone Plugin(克隆插件,8.0.17+)

一. 克隆插件是什么?

二. 使用克隆插件

2.1 安装克隆插件

# 方式一:配置文件加载插件
[mysqld]
plugin-load-add=mysql_clone.so

# 方式二:使用install plugin语句,会在mysql.plugins表中注册
install plugin clone SONAME "mysql_clone.so";

如果安装报错ERROR 1123 (HY000): Can"t initialize function "clone"; Plugin initialization function failed.,检查explicit_defaults_for_timestamp是否开启(1):参考Bug #96281

2.2 克隆本地数据

将本地MySQL数据目录克隆到另一个目录,用户需要BACKUP_ADMIN权限

# 创建用户和授权
create user "clone_backup"@"localhost" identified by "xxx";

grant backup_admin on *.* to "clone_backup"@"localhost";

# 将数据目录克隆到/backup/clone-local-1823,目录需为绝对路径,且目录需不存在,且路径需要MySQL服务可写
# 不支持克隆数据目录之外的表空间和表
# 可以使用克隆的目录启动MySQL服务
mkdir /backup
chown mysql.mysql /backup
clone local data directory "/backup/clone-local-1823";

# 使用克隆目录启动服务
./bin/mysqld_safe 
--datadir=/backup/clone-local-1823/ 
--port=3309 
--user=mysql 
--log-error=error.log 
--socket=/tmp/mysql3309.sock 
--lower_case_table_names=1 
--mysqlx_port=33069 
--mysqlx_socket=/tmp/mysqlx3309.sock 
--pid-file=mysqld.pid

克隆期间锁占用,会阻塞DDL操作(Waiting for backup lock),DML在clone完成最后阶段会遭遇waiting for handler commit,克隆数据是执行clone这个时间点的数据快照。

2.3 克隆远程实例数据

可以克隆到远程机器的当前运行实例的数据目录,会删除当前数据,然后会自动重启服务,也可以通过DATA DIRECTORY指定一个不存在的绝对路径,将数据克隆到该目录;支持克隆数据目录外的表空间;

克隆准备步骤:

源端(10.82.30.102:3308):

# 创建用户
create user "clone_server"@"10.82.30.101" identified by "xxx";
grant backup_admin on *.* to "clone_server"@"10.82.30.101";

# 安装插件
install plugin clone SONAME "mysql_clone.so";

目的端(10.82.30.101:3308):

# 创建用户
create user "clone_client"@"localhost" identified by "xxx";
grant clone_admin on *.* to "clone_client"@"localhost";

# 安装插件
install plugin clone SONAME "mysql_clone.so";

# 添加源端IP到白名单
set global clone_valid_donor_list="10.82.30.102:3308";

# 使用clone用户登录
./bin/mysql -S /tmp/mysql3308.sock -uclone_client -p

# 一. 执行clone命令,将数据复制到实例数据目录
clone instance from "clone_server"@"10.82.30.102":3308 identified by "xxx";

# 查看克隆状态
select id,pid,state,source,destination,error_no,error_message,binlog_file,binlog_position from performance_schema.clone_status;

# 二. 执行clone命令,将数据复制到指定目录(目录需不存在,同时MySQL服务有写权限)
mkdir /backup
chown mysql.mysql /backup

# 操作用户还需要BACKUP_ADMIN权限,文档没提及
grant backup_admin on *.* to "clone_client"@"localhost";

clone instance from "clone_server"@"10.82.30.102":3308 identified by "xxx" data directory="/backup/clone-102";

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯