mysql锁表解决方法


-- 如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程
# id列:一个标识,你要kill 一个语句的时候很有用。
# user列: 显示当前用户,如果不是root,这个命令就只显示你权限范围内的sql语句。
# host列:显示这个语句是从哪个ip 的哪个端口上发出的。可用来追踪出问题语句的用户。
# db列:显示这个进程目前连接的是哪个数据库。
# command列:显示当前连接的执行的命令,一般就是休眠(sleep),查询(query),连接(connect)
show processlist
-- 查询是否锁表
show OPEN TABLES where In_use > 0

--
-- 查看当前数据库锁表的情况
SELECT * FROM information_schema.INNODB_TRX
-- 杀掉查询结果中锁表的trx_mysql_thread_id
kill 22970

-- 查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS

-- 查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS
select count(*) from GKY2.td_CustInfo where FK_areaCode='0.010.025.001'
select count(*) from GKY2.td_CustInfo where FK_areaCode='0.010.029.008'

select * from GKY2.td_CustInfo where PK_custID=2018071353635259
select * from td_CustAdjust
UNITY20190513155234711604 0 3

-- MYSQL会根据配置文件会限制server接受的数据包大小。
show variables like '%max_allowed_packet%';
-- 修改文件配置
set global max_allowed_packet = 1*1024*1024*10;
-- 重启mysql在查看
service mysql restart
SELECT NOW(),CURDATE(),CURTIME()

show variables like 'max_connections' -- 查看mysql的最大连接数
show global variables like '%time%'
SET GLOBAL wait_timeout = 280000;
SET GLOBAL interactive_timeout = 280000;
posted @ 2019-07-02 10:16  垂眸爱笑约  阅读(330)  评论(0编辑  收藏  举报