遇到一诡异问题,请教。

nn8087 2014-10-10 01:09:10
在内部平台上安装某应用时,会执行init.sql文件,其中会对database所有表进行drop和重建;安装后,使用该应用,然后,
卸载该应用时,会执行end.sql,其中会直接执行drop database和create databse。
遇到的诡异问题:
1,卸载应用时,代码执行drop database时,页面挂死,貌似执行drop database异常(暂未深入分析),但重启平台后,要卸载的应用已从页面消失。
2,临时解决卸载挂死的问题起见,将end.sql中的drop database和create databse语句删除,此时,卸载正常,但再安装应用时,执行到init.sql中的某个drop tablse语句时,页面同样挂死。(该drop 语句前面有多个类似语句却正常,将该语句尝试删除后,紧跟着后面的drop语句也会引起页面挂死)
综上现象判断,使用应用时,可能对数据库有某些操作,导致卸载或再安装时,sql语句操作数据库异常。
问题是使用应用的哪些情况可能引发后续操作数据异常。
...全文
142 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
nn8087 2014-10-10
  • 打赏
  • 举报
回复
多谢指点! 应用程序操作时有通过mybatis方式对该database的使用,具体不清楚是哪些对数据库的访问语句会引发问题。 不过,我现在准备卸载该应用程序了,那么是否可以采用下面两种方式解决:1,不论是否有表被使用,强制drop db。 或2,如果确定是因为加锁的表引起的话,我进一步分析下是哪些表加锁,把加锁动作去掉。 这样先试试。
引用 1 楼 ACMAIN_CHM 的回复:
检查一下当时是否有其它程序在访问该数据库。 drop database 需要等所有加锁的表都释放后再会执行。
ACMAIN_CHM 2014-10-10
  • 打赏
  • 举报
回复
检查一下当时是否有其它程序在访问该数据库。 drop database 需要等所有加锁的表都释放后再会执行。

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧