大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用终端或命令提示符登录到MySQL,输入命令:
目前创新互联已为上千多家的企业提供了网站建设、域名、网站空间、网站托管维护、企业网站设计、岑溪网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
mysql -h xxxx.xxx.xxx -P 3306 -u username -p password
在MySQL客户端下输入命令:
show engine innodb status \G;
在打印出来的信息中找到“LATEST DETECTED DEADLOCK”一节内容,分析其中的内容,我们就可以知道最近导致死锁的事务有哪些。
1、查询是否锁表
show OPEN TABLES where In_use 0;
查询到相对应的进程 === 然后 kill id
2、查询进程
show processlist
补充:
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
可直接在mysql命令行执行:show engine innodb status\G; 查看造成死锁的sql语句,分析索引情况,然后优化sql然后show processlist; 另外可以打开慢查询日志
第一步,查出已锁的进程
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
``
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
``
INNODB_TRX表主要是包含了正在InnoDB引擎中执行的所有事务的信息,包括waiting for a lock和running的事务
select * from information_schema.innodb_trx
``
第二步,kill进程
show engin innodb status; //最后一次死锁信息及sql
show open tables where in_use 0 //查看锁表