关于Mysql查看某个ip连接数及删除掉这个ip连接的方法(也可以进行mysql锁表解锁)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

某天无意间发现一台mysql服务器写数据不正常,分析发现是有两台游戏服务器连接着这个mysql服务器,由于其中一台游戏服务器已经退掉但并没有停掉dbserver服务从而造成mysql写不正常,所以必须删除掉问题游戏服务器的连接,具体方法如下:

统计mysql各ip的连接总数:

1
mysql>  select  SUBSTRING_INDEX(host, ':' ,1) as ip , count(*) from information_schema.processlist group by ip;

状态如下:

1
2
3
4
5
6
7
8
9
+----------------+----------+
| ip             | count(*) |
+----------------+----------+
|                |        3 | 
| 10.182.41.191  |        1 | 
| 10.190.249.204 |        1 | 
| 10.204.161.60  |       10 | 
| localhost      |        1 | 
+----------------+----------+

如ip:10.190.249.204有一个进程正在连接mysql,我们要将其杀掉。

注:还有其他方法来查看mysql各ip连接总数,如在linux上通过mysql命令远程查看其状态。

1
mysql -u root -h127.0.0.1 -e  "show processlist\G;" egrep  "Host\:"  awk  -F:  '{ print $2 }' sort  uniq  -c


1
mysql -u root -h127.0.0.1 --skip-column-names -e  "show processlist;" | awk  '{print $3}' | awk  -F ":"  '{print $1}' | sort | uniq  –c

使用如下命令具体查看此ip的具体连接状态:

1
mysql> show full  processlist;

状态如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
+--------+-----------------+----------------------+-----------------+-------------+----------+-----------------------------------------------------------------------+------------------------+
| Id     | User            | Host                 | db              | Command     | Time     | State                                                                 | Info                   |
+--------+-----------------+----------------------+-----------------+-------------+----------+-----------------------------------------------------------------------+------------------------+
|      1 | event_scheduler | localhost            | NULL            | Daemon      | 16664843 | Waiting on empty queue                                                | NULL                   | 
|      3 | tencentroot     | :34481               | NULL            | Sleep       |        5 |                                                                       | NULL                   | 
|     33 | tencentroot     | :38939               | NULL            | Binlog Dump | 16663717 | Master has sent all binlog to slave; waiting  for  binlog to be updated | NULL                   | 
| 460426 | tencentroot     | :45751               | NULL            | Sleep       |        2 |                                                                       | NULL                   | 
| 573982 | root            | 10.190.249.204:41661 | db_gfxy_gdb_239 | Sleep       |       24 |                                                                       | NULL                   | 
| 594340 | root            | 10.204.161.60:40129  | db_gfxy_gdb_239 | Sleep       |        6 |                                                                       | NULL                   | 
| 594341 | root            | 10.204.161.60:40130  | db_gfxy_gdb_239 | Sleep       |        7 |                                                                       | NULL                   | 
| 594342 | root            | 10.204.161.60:40131  | db_gfxy_gdb_239 | Sleep       |        6 |                                                                       | NULL                   | 
| 594343 | root            | 10.204.161.60:40132  | db_gfxy_gdb_239 | Sleep       |        6 |                                                                       | NULL                   | 
| 594344 | root            | 10.204.161.60:40133  | db_gfxy_gdb_239 | Sleep       |        6 |                                                                       | NULL                   | 
| 594345 | root            | 10.204.161.60:40134  | db_gfxy_gdb_239 | Sleep       |        6 |                                                                       | NULL                   | 
| 594346 | root            | 10.204.161.60:40135  | db_gfxy_gdb_239 | Sleep       |        6 |                                                                       | NULL                   | 
| 594347 | root            | 10.204.161.60:40136  | db_gfxy_gdb_239 | Sleep       |        6 |                                                                       | NULL                   | 
| 594348 | root            | 10.204.161.60:40137  | db_gfxy_gdb_239 | Sleep       |        6 |                                                                       | NULL                   | 
| 594349 | root            | 10.204.161.60:40138  | db_gfxy_gdb_239 | Sleep       |        6 |                                                                       | NULL                   | 
| 594402 | root            | 10.182.41.191:55110  | mysql           | Query       |        0 | NULL                                                                  | show full  processlist |

Ip:10.190.249.204对应的id为573982,直接杀掉其id:

1
mysql> kill 573982;

即杀掉10.190.249.204的连接。

在处理解表之前,先查看哪个表所住了:

1
show OPEN TABLES where In_use > 0;

查看其进程show...,kill掉即可。










本文转自 SoulMio 51CTO博客,原文链接:http://blog.51cto.com/bovin/1858137,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
16天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
1天前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
2月前
|
SQL 存储 关系型数据库
MySQL/SqlServer跨服务器增删改查(CRUD)的一种方法
通过上述方法,MySQL和SQL Server均能够实现跨服务器的增删改查操作。MySQL通过联邦存储引擎提供了直接的跨服务器表访问,而SQL Server通过链接服务器和分布式查询实现了灵活的跨服务器数据操作。这些技术为分布式数据库管理提供了强大的支持,能够满足复杂的数据操作需求。
95 12
|
2月前
|
存储 缓存 关系型数据库
MySQL的count()方法慢
MySQL的 `COUNT()`方法在处理大数据量时可能会变慢,主要原因包括数据量大、缺乏合适的索引、InnoDB引擎的设计以及复杂的查询条件。通过创建合适的索引、使用覆盖索引、缓存机制、分区表和预计算等优化方案,可以显著提高 `COUNT()`方法的执行效率,确保数据库查询性能的提升。
720 12
|
3月前
|
关系型数据库 MySQL 网络安全
DBeaver连接MySQL提示Access denied for user ‘‘@‘ip‘ (using password: YES)
“Access denied for user ''@'ip' (using password: YES)”错误通常与MySQL用户权限配置或网络设置有关。通过检查并正确配置用户名和密码、用户权限、MySQL配置文件及防火墙设置,可以有效解决此问题。希望本文能帮助您成功连接MySQL数据库。
295 4
|
3月前
|
安全 关系型数据库 MySQL
【赵渝强老师】MySQL的连接方式
本文介绍了MySQL数据库服务器启动后的三种连接方式:本地连接、远程连接和安全连接。详细步骤包括使用root用户登录、修改密码、创建新用户、授权及配置SSL等。并附有视频讲解,帮助读者更好地理解和操作。
452 1
|
3月前
|
关系型数据库 MySQL
Mysql 中日期比较大小的方法有哪些?
在 MySQL 中,可以通过多种方法比较日期的大小,包括使用比较运算符、NOW() 函数、DATEDIFF 函数和 DATE 函数。这些方法可以帮助你筛选出特定日期范围内的记录,确保日期格式一致以避免错误。
112 1
|
4月前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
379 6
|
3月前
|
SQL 关系型数据库 MySQL
定时任务频繁插入数据导致锁表问题 -> 查询mysql进程
定时任务频繁插入数据导致锁表问题 -> 查询mysql进程
76 1
|
3天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
66 42