求助,mysql5.6改不了表结构,没有事务没有锁。在线求等大神解答,解决了马上给分

liu志坚 2018-01-18 11:28:51
ALTER TABLE `t_order` MODIFY COLUMN `fcomment_status` varchar(30) ;

select * from information_schema.PROCESSLIST t where
id in (SELECT a.trx_mysql_thread_id FROM information_schema.INNODB_TRX a )
and t.db='mshz-order';
没有数据,说明没有想关事务。

select t.DB,t.`USER`,t.COMMAND,t.TIME,t.STATE,t.INFO from information_schema.PROCESSLIST t where COMMAND!='Sleep' and INFO is not null order by TIME desc;

mshz-order root Query 162 Waiting for table metadata lock ALTER TABLE `t_order` MODIFY COLUMN `fcomment_status` varchar(30)

状态是:“Waiting for table metadata lock”
...全文
342 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu志坚 2018-01-18
  • 打赏
  • 举报
回复
解决了。 是因为有显示的事务,失败的查询导致语回滚,事务里面查不到,进程也看不到信息。 select * from `performance_schema`.events_statements_current t where t.MYSQL_ERRNO !=0; 这样才能看到。 然后把对应的会话杀了就好了。
zjcxc 2018-01-18
  • 打赏
  • 举报
回复
你想说什么? 第一个查询的两条记录明显有问题的吧? 有事务但 sessionn 是 sleep
liu志坚 2018-01-18
  • 打赏
  • 举报
回复
zjcxc 2018-01-18
  • 打赏
  • 举报
回复
processlist 的 db 列,是你当前所在的 db ,不是你的语句涉及的 db
liu志坚 2018-01-18
  • 打赏
  • 举报
回复
引用 2 楼 zjcxc 的回复:
select * from information_schema.PROCESSLIST t where id in (SELECT a.trx_mysql_thread_id FROM information_schema.INNODB_TRX a ) and t.db='mshz-order'; 没有数据,说明没有想关事务 1. INNODB_TRX 这个是针对 innodb 的,你并没有确认你的表是 innodb 的 2. 看你咯并不一宗正要在 'mshz-order 下进行,你为什么要强行加这个条件? -------------------------------------------------------- 这个说法不正确,
是innodb的表。 因为我要改表结构的表t_order 在'mshz-order 这个库下面哦
zjcxc 2018-01-18
  • 打赏
  • 举报
回复
select * from information_schema.PROCESSLIST t where id in (SELECT a.trx_mysql_thread_id FROM information_schema.INNODB_TRX a ) and t.db='mshz-order'; 没有数据,说明没有想关事务 1. INNODB_TRX 这个是针对 innodb 的,你并没有确认你的表是 innodb 的 2. 看你咯并不一宗正要在 'mshz-order 下进行,你为什么要强行加这个条件? -------------------------------------------------------- 这个说法不正确,

56,687

社区成员

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

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