[发明专利]一种支持MySQL数据库在线DDL操作的方法在审
申请号: | 201910892954.0 | 申请日: | 2019-09-20 |
公开(公告)号: | CN110597823A | 公开(公告)日: | 2019-12-20 |
发明(设计)人: | 刘小龙;唐军;周文龙 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/28 |
代理公司: | 51213 四川省成都市天策商标专利事务所 | 代理人: | 郭会 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 原表 空表 表结构 可用性 业务系统 便利性 触发器 读写 拷贝 新表 运维 阻塞 数据库 | ||
1.一种支持MySQL数据库在线DDL操作的方法,其特征在于,包括以下步骤:
A.检查并设置数据库环境,创建基表,并通过python程序不断往基表里做添加、修改和删除的操作;
B.创建一个与基表相同表结构的临时表并在临时表上执行DDL操作;
C.在所述基表上添加基于DML操作的触发器,所述触发器的内容逻辑只保证在基表上进行的任何DML操作且在事务提交成功时,也必须同时保证在临时表上做同样的操作;
D.将基表内的数据拷贝迁移到临时表中;
E.将基表重命名,再将临时表重命名为原基表名称并将基表及基表上的触发器删除。
2.根据权利要求1所述的一种支持MySQL数据库在线DDL操作的方法,其特征在于,所述步骤A中检查并设置数据库环境时,包括设置数据库事务等待行锁的超时时间参数、设置获取元数据锁超时参数、设置交互超时时间参数及进行使用用户权限验证和数据库连通性验证。
3.根据权利要求1所述的一种支持MySQL数据库在线DDL操作的方法,其特征在于,所述步骤C中具体是添加三个触发器,分别是基于delete、update、insert的aftertrigger。
4.根据权利要求1所述的一种支持MySQL数据库在线DDL操作的方法,其特征在于,所述步骤D中进行数据拷贝迁移时是用insertasselect的方式把基表中的初始数据插入到临时表中。
5.根据权利要求4所述的一种支持MySQL数据库在线DDL操作的方法,其特征在于,所述步骤D中还包括在插入数据的过程中给新表加上共享锁,并通过提示FORCEINDEX强制基表在查询数据的过程中使用主键,同时基表也必须要满足有主键约束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910892954.0/1.html,转载请声明来源钻瓜专利网。