MYSQL完美解决生产环境改表结构锁表问题

MYSQL完美解决生产环境改表结构锁表问题,第1张

有时候,会很不小心,在业务运行中执行了一条锁表语句。这时候该怎么办?

例如:修改元数据。

SHOW FULL PROCESSLIST 查看一下:

发现修改之后,锁表了。这时候怎么办? 杀死它 KILL 4623660

然后一切又恢复正常了。

一般对于数据量较大的表,需要修改表结构,或者做一些耗时比较久的锁表 *** 作,建议在晚上(业务闲时)执行。这个时候可以配合使用任务处理一下。

如:修改一个表的字段长度,和添加索引

名词解释:

接着回家睡觉,第二天回来检查结果就好了。

附:添加唯一索引示例

MYSQL存储过程结合任务处理耗时 *** 作

这个是属于系统遗留问题,也就是一种系统的保护机制。就是为了避免出现这种在线修改系统的 *** 作。

增加字段属于系统的修改 *** 作。尽量不要在线 *** 作,因为可能出现。未知的漏洞。一定要。离线。修改完毕,然后经过测试后。认为已经没有问题了。在。次日的凌晨发一个通知。停机维护。这样才能保证系统的正常运转。

如果在前期设置系统的时候就预留了。热升级的空间。这样才能达到在线 *** 作的目的,而且系统的金融群总是一部分先升级。

很多情况下,你需要使用系统里边的工具集。在线修改表格。原理其实非常的简单,新建的和原表的表格结构。要一模一样。对这个表格进行修改,然后把结构变更的日期。插入进去。而且还建议您尽量在业务的低缝隙进行修改。避免发生不可控的未知状况。

使用说明:

1、如果是用 MySQL + Apache,使用的又是 FreeBSD 网络 *** 作系统的话,安装时候你应按注意到FreeBSD的版本问题,在FreeBSD 的 3.0 以下版本来说,MySQL Source 内含的 MIT-pthread 运行是正常的,但在这版本以上,你必须使用 native threads。

2、如果在 COMPILE 过程中出了问题,请先检查你的 gcc版本是否在 2.81 版本以上,gmake 版本是否在3.75以上。

3、如果不是版本的问题,那可能是你的内存不足,请使用configure--with-low-memory 来加入。

4、如果要重新做你的configure,那么你可以键入rm config.cache和make clean来清除记录。

5、把 MySQL 安装在 /usr/local 目录下,这是缺省值,您也可以按照你的需要设定你所安装的目录。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7108273.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存