
MyFlash初体验
https://github.com/Meituan-Dianping/MyFlash
安装
`yum install libgnomeui-devel
gcc -w -g `pkg-config --cflags glib-2.0` source/binlogParseGlib.c -o binary/flashback usr/lib64/libglib-2.0.a -lrt yum install install glib2*`
复制
测试环境准备
https://github.com/Meituan-Dianping/MyFlash/blob/master/doc/TestCase.md
CREATE TABLE `tb_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nameBlob` longblob, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
复制
回滚命令生成
`./MyFlash/binary/flashback --binlogFileNames=/alidata/mysql/mybinlog.000022 --outBinlogFileNameBase=22delete.flashback`
复制
扩展
阿里云RDS实例,用户没有Super权限,导入带有set @@信息,会提示ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPERprivilege(s) for this operation报错。
本地5.7版本,测试去除set @@GTID_NEXT,当GTID模式开启状态,导入实例会提示报错:
ERROR 1782 (HY000) at line 19: @@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MODE = ON.
复制
只有将 GTID模式关闭,才可以正常导入
https://bugs.mysql.com/bug.php?id=85480
5.6版本没有以上问题
`mysqlbinlog -v -v --skip-gtids 22delete.flashback | sed 's@\/\*.*\*\/@@' |mysql -uroot -proot`
复制
初步结论
解决方案
验证binlog2sql 是否支持blob转换
--w_blob.py 写入blob
import sys
import pymysql
import os
path = "./"
fp = open("/alidata/PG01.jpg", 'rb')
img = fp.read()
fp.close()
database = pymysql.connect(host="localhost", user="root", passwd="root", db="qinxi")
cursor = database.cursor()
sql = "INSERT INTO tb_test (nameBlob) VALUES (%s);"
args = (img)
cursor.execute(sql, args)
database.commit()
cursor.close()
database.close()
print("============")
print("Done! ")
--r_blob.py 读取blob
import pymysql as mdb
import sys
conn = mdb.connect(host='localhost',user='root',passwd='root',db='qinxi')
cursor = conn.cursor()
cursor.execute("SELECT nameBlob FROM tb_test LIMIT 1")
fout = open('PG333.jpg','wb')
fout.write(cursor.fetchone()[0])
fout.close()
cursor.close()
conn.close()
python binlog2sql.py -uroot -h10.200.6.53 -proot -B --start-file=mybinlog.000033 > 33.sql
复制


本文分享内容是我自己的一些见解,欢迎大家一起来评论留言探讨,我会不定期更新内容,大家可以关注我哟~,也可以在今日头条搜索“青雨果果”关注我!~



文章转载自青雨果果,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
墨天轮个人数说知识点合集
JiekeXu
436次阅读
2025-04-01 15:56:03
MySQL数据库当前和历史事务分析
听见风的声音
424次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
383次阅读
2025-03-28 16:28:31
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
348次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
347次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
327次阅读
2025-04-15 14:48:05
云和恩墨杨明翰:安全生产系列之MySQL高危操作
墨天轮编辑部
307次阅读
2025-03-27 16:45:26
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
294次阅读
2025-04-07 12:14:29
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
196次阅读
2025-04-15 15:27:53
[MYSQL] 服务器出现大量的TIME_WAIT, 每天凌晨就清零了
大大刺猬
181次阅读
2025-04-01 16:20:44