使用xa进行测试时,对mysql进行了一些xa各阶段锁定试验,后来出现卡死情况就杀掉了线程,重启了mysql服务。重启后发现插入、修改数据都正常,但无法修改表结构,修改表结构就处于卡死状态,过一分多钟报超时错误。
查询innodb_trx表,发现有两个事务处于运行中,网上资料都是说按照trx_mysql_thread_id找到对应进程杀掉,但我这里是0,没有进程id,没法杀,而且它是重启mysql服务后自动就运行的两个事务。
还有资料说,通过xa recover看当前xa事务,然后回滚或提交,但我这里通过xa recover查到的结果是空的。所以也不能解决。
大概推断应该跟redo undo有关系,xa事务异常后,mysql服务重启检测到了这两个事务就自动运行了,这是我的猜测,不知道对不对。
但我现在不知道怎么解决点这两个运行中的事务,求助各位大神,给点建议。