###现象
1.服务出现jdbc链接池没有可用链接(获取连接等待超时)
2.show full processlist 发现存在该服务大量select 某表的query全部watting flush tables 一条请求flush table 一条请求open table
3.kill 掉flush table 请求后,在processlist中不再找到该请求,但是后续请求继续阻塞,kill 掉open table请求后,open table无限期处于killed状态,依旧获取不到锁
4.使用select 查询该表,无限期死锁
5.查询information_schema.INNODB_TRX;发现有一条三天前的事务,事务trx_mysql_thread_id=0 隔离级别read_uncommit 状态running 事务开启时间为9:03
6.解析binlog 该事务启动后,无任何9:03左右该事务的记录
7.xa recover; 无任何事务信息
8.查询INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 无任何记录
9.查询INFORMATION_SCHEMA.INNODB_LOCKS; 无任何记录
10.重启mysql,无法启动。
11.查看mysql启动日志, 处理事务文件ib_logfile0 ib_logfile1 ibdata1异常
12.查看网上方法,删除了事务文件及事务日志ib_logfile0 ib_logfile1
13.启动mysql 成功。
待后续深入学习mysql 回顾该问题。