`
guoxinzz
  • 浏览: 432123 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

[转]mysql中kill掉所有锁表的进程

 
阅读更多

转载请保留如下作者信息

作者 : jesse

博客 : http://hi.baidu.com/leechl

3点钟刚睡下, 4点多, 同事打电话告诉我用户数据库挂掉了. 我起床看一下进程列表.

mysql>show processlist;

出来哗啦啦好几屏幕的, 没有一千也有几百条, 查询语句把表锁住了, 赶紧找出第一个Locked的thread_id, 在mysql的shell里面执行.

mysql>kill thread_id;

kill掉第一个锁表的进程, 依然没有改善. 既然不改善, 咱们就想办法将所有锁表的进程kill掉吧, 简单的脚本如下.

#!/bin/bash
mysql -u root -p密码 -e "show processlist" | grep -i "Locked" >> locked_log.txt
for line in `cat locked_log.txt | awk '{print $1}'`
do
echo "kill $line;" >> kill_thread_id.sql
done

现在kill_thread_id.sql的内容像这个样子

kill 66402982;
kill 66402983;
kill 66402986;
kill 66402991;
.....

好了, 我们在mysql的shell中执行, 就可以把所有锁表的进程杀死了.

mysql>source kill_thread_id.sql
当然了, 也可以一行搞定

for id in `mysqladmin processlist | grep -i locked | awk '{print $1}'`
do
mysqladmin kill ${id}
done

分享到:
评论

相关推荐

    MYSQL锁表问题的解决方法

    本文实例讲述了MYSQL锁表问题的解决方法... 既然不改善, 咱们就想办法将所有锁表的进程kill掉吧, 简单的脚本如下. #!/bin/bash mysql - u root - e " show processlist " | grep - i " Locked " >> locked_log . txt

    如何解决mysql无法关闭的问题

    mac系统mysqld进程无法kill掉的问题 mac安装比linux恶心的太多,权限太受限制 kill -9根本无法杀死mysqld进程,查了好久原来是因为 LaunchDeamons定时任务守护mysqld进程 解决方法: sudo launchctl unload -w /...

    批量 kill mysql 中运行时间长的sql

    KILL语法 KILL [CONNECTION | QUERY] thread_id 每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个线程。 KILL允许自选的...

    Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)

    主要介绍了Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)的相关资料,需要的朋友可以参考下

    清理mysql数据睡眠进程

    和mysql_kill_sleep.sh一起使用才可以

    mysql查询表是否被锁的方法

    查看表被锁状态 # 查询哪些表锁了 show OPEN TABLES where In_use > 0; 查看造成死锁的sql语句 # 查询innodb引擎的运行时信息 show engine innodb status; 查询进程 # 查询所有进程 show ...

    SQL Monitor for Oracle,MySQL和DB2 v2.4.3.6 中文绿色版

    SQL Monitor for Oracle,MySQL and DB2 是款免费的数据库跟踪工具,专门用来分析CPU使用率高的问题。...实际调试起来,会用到其它复杂的SQL,譬如是什么锁,锁定哪个数据库中的哪个表,等等,下一篇文章才写吧。

    使用Linux的Shell脚本定时处理MySQL超时

    最近一段时间,我刚刚进入一家新公司,并接手了这里的一个站点,由于这个站点的架构设计不太合理,导致MySQL的压力始终很大,经常出现超时的Locked进程,于是编写了一段Linux的Shell脚本来定时kill掉这些进程。...

    MySQL使用的常见问题解决与应用技巧汇总

    1. 登录到数据库所在的服务器,手工 kill 掉 mysql 进程。 (1) 登录到数据库所在的服务器,手工 kill 掉 MySQL 进程: root@bogon:/data/mysql# kill `cat ./mysql.pid` 其中,mysql.pid 指的是 MySQL 数据目录下的...

    忘记MySQL的root密码该怎么办

    1.登录数据库所在服务器,手动kill掉Mysql进程 关闭进程的命令为:kill 进程号(linux下) 关闭进程的命令为:taskkill 进程号(win下) 怎么查看进程号呢? 我们都知道MySQL的进程号一般都会保存在Mysql数据目录...

    MYSQL培训经典教程(共两部分) 1/2

    数据库安全 149 7.1 MYSQL的权限系统 150 7.1.1授权表的结构 150 7.1.1.1授权表user、db和host的结构和作用 150 7.1.1.2授权表tables_priv和columns_priv的结构和作用 151 7.1.2用户的权限 152 ...

    pt-kill 常用杀进程参数介绍

    pt-kill 是一个优秀的kill MySQL连接的一个工具,是percona toolkit的一部分,在因为空闲连接较多导致超过最大连接数、某个有问题的sql导致mysql负载很高时,都需要将一些连接kill掉,这个工具主要就是这个用途。...

    修改mysql密码与忘记mysql密码的处理方法

    忘记MySQL密码: 代码如下:chown -R mysql:mysql /var/lib/mysql /etc/init.d/mysql stop 或 kill -9 杀死进程。[root@corshetlpro01 bin]# cd /usr/local/mysql/bin./mysqld_safe –user=mysql –skip-grant-...

    mysql查看死锁与去除死锁示例详解

    2、 查询到相对应的进程,然后 kill id 验证(kill后再看是否还有锁) 2、查询是否锁表 show OPEN TABLES where In_use > 0; 示例: 新建一个会话执行如下的显示锁示例 LOCK TABLES account_data.account READ; ...

    mysql基础只是总结

    8、资源管理器kill进程mysqld 或者 mysql-nt 不要把mysql.exe 9、net start mysql 【简单的用户权限管理】 1、用户的创建 create user 用户名 identified by 密码 2、删除用户 drop user 用户名 3、用户...

    MySQL不停地自动重启的解决方法

    近期,测试环境出现了一次MySQL数据库不断自动重启的问题,导致的原因是强行kill -9 杀掉数据库进程导致,报错信息如下: 2019-07-24T01:14:53.769512Z 0 [Note] Executing ‘SELECT * FROM INFORMATION_SCHEMA....

    忘记mysql密码的解决办法,和解决10061方案

    KILL掉MySQL进程;  2. 用以下指令发动MySQL,以不查看权限的办法发动;  mysqld_safe -skip-grant-tables &  3. 然后用空暗码办法运用root用户登录 MySQL;  mysql -u root  4. 修改root用户的暗码;  ...

    MySQL的root密码忘记怎么办 修改root密码的方式

    默认参数下,kill 发送SIGTERM信号给进程,告诉进程,你需要被关闭,请自行停止运行并退出。 kill -9 发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出。与SIGTERM相比,这个信号不能被捕获或忽略,同时...

    MySQL禁用InnoDB引擎的方法

    关闭MySQL 代码如下:service mysql stop如果上面的命令无法关闭MySQL,则使用kill -9命令强制杀掉进程; 修改MySQL配置文件my.cnf(通常位于/etc/mysql/my.cnf)下加入如下字段 对于MySQL 5.5而言: 代码如下:...

Global site tag (gtag.js) - Google Analytics