解决方案 »
- 关于mysql存储过程 cursor
- 请教一个关于MySQL 内存数据库的问题
- MySql中存储过程和作业使用的问题(急........)
- mysql 如何获得某条记录在查询结果集中的索引(顺序)
- MySql用PhpMyAdmin执行SQL语句时报错,我要返回去修改SQL语,却发现被清空了,怎么办?
- 关于select问题
- 怎么一个只取其中1条记录
- 请问在ER STUDIO中怎样把两个不同DM1文件合并成一个文件啊?
- 请问将文件导入数据库保存和在数据库字段中保存文件地址,两种方法有什么优劣?还有其他的方法吗?
- 请教一个sql联合查询的问题
- Mysql update 想用order by 以及 Limit
- 在应用mysql数据分区我这样理解对吗?
wait - timeout :线程没活动的最大秒数。
默认是28800秒, 即8小时后,这个没有客户端活动的线程会被服务器杀死。8小时太长了, 但你也不能将wait -timeout 设为太小,否则会误杀很多空闲正常的线程最好的方法是手动杀死那个线程。“A重启后,该如何建立连接才能继续原来的事务?”--不行的。
wait - timeout并不表示B执行成功了,而是表示执行失败。
此后无论谁,包括A自己,如果对T1执行for update都将是以失败(wait - timeout)告终的。也就是说记录被永远锁定了。。
话说此时我该如何手动解锁?
kill xxx
kill xxx
Good,要的就是这个。美中不足的是,无法发现哪个线程是有没结束的事务的,都是显示Sleep。
你有什么好办法没?
这时有事务的那个线程的连接应该已经断开了才对,这么严重的状态,show processlist却貌似对此一无所知。
innodb_lock_wait_timeout 等待多长时间判定为死锁 以及
innodb_rollback_on_timeout 在超时 ( 判定为死锁 ) 后是否回滚事务
connect_timeout 是一段时间没有动作后 , mysql 会自动断开连接 , 这个 ... 百度一下 , 不一定准