MySQL查看数据库连接数
1. SHOW STATUS命令-查询当前的连接数
MySQL 提供了一个 SHOW STATUS 命令,可以用来查看服务器的状态信息,包括当前的连接数。
SHOW STATUS LIKE 'Threads_connected';
这个命令会返回当前连接到服务器的线程数,即当前的数据库连接数。
2. 查看information_schema数据库-查看当前所有活动连接的信息。
information_schema 是 MySQL 的一个系统数据库,它包含了数据库的元数据。通过查询 information_schema 中的 PROCESSLIST 表,可以查看当前所有活动连接的信息。
SELECT * FROM information_schema.PROCESSLIST;
这个查询会列出所有当前活动的连接,包括每个连接的 ID、用户、客户端地址、执行的查询等信息。
3. SHOW PROCESSLIST命令-返回当前所有活动连接的列表
SHOW PROCESSLIST 命令与查询 information_schema.PROCESSLIST 表的效果类似,它直接返回当前所有活动连接的列表。
SHOW PROCESSLIST;
4. max_connections -查看最大连接数
除了查看当前的连接数,你可能还想知道数据库配置的最大连接数。这可以通过查看 max_connections 状态变量来实现。
SHOW VARIABLES LIKE 'max_connections';
5. performance_schema - 使用性能模式
MySQL 的性能模式(Performance Schema)提供了更详细的性能监控信息,包括数据库连接的统计信息。要启用性能模式,你需要确保它已经启动,然后可以查询相关的表。
-- 启用性能模式
SET GLOBAL performance_schema = ON;-- 查询连接统计信息
SELECT * FROM performance_schema.data_locks;
6. 查看死锁
SHOW OPEN TABLES命令可以显示当前所有被打开的表。当表被锁住时,该表将被显示为Locked状态。
SHOW OPEN TABLES;
执行上述命令后,将会返回一个结果集,其中包含了当前所有被打开的表的信息。如果某个表被锁住了,你将会在结果集中找到该表,并且在Type列中的值为表锁定的类型(例如,READ或WRITE)
查询进程:
show processlist;
查看正在锁的事务:
select * from information_schema.innodb_locks;
查看等待锁的事务:
select * from information_schema.innodb_locks_w
7. 数据库解锁所有的表
unlock tables;
Redis 客户端常见命令
1. info clients 可以查看当前的redis连接数
使用 INFO 命令可以让你知道当前的连接数(connected_clients),以及配置文件中设置的最大连接数(maxclients)。
redis-cli info clients
如果是在reids的客户端下命令中就去掉 redis-cli
这个命令会输出类似客户端的连接这样的信息:
connected_clients:30
cluster_connections:30
blocked_clients:0
tracking_clients:0
clients_in_timeout_table:0
maxclints:10000
connected_clients:3
- CLIENT LIST redis查看详细连接
- CLIENT LIST 获取客户端列表
- CLIENT SETNAME 设置当前连接点redis的名称
- CLIENT GETNAME 查看当前连接的名称
- CLIENT KILL ip:port 杀死指定连接
2. maxclients -最大连接数调整
config get maxclients 可以查询redis允许的最大连接数
配置文件方式修改最大连接数
127.0.0.1:6379> CONFIG GET maxclients##1) "maxclients"##2) "10000"
127.0.0.1:6379>
Redis配置文件调整maxclients参数
如果你发现现有的连接数接近或者达到了最大连接数限制,你可以在Redis的配置文件 redis.conf 中调整 maxclients 的值。
记得这个值应该在你的服务器可以接受的范围内,不要超过服务器的负载能力。
maxclients 10000
重新加载Redis配置
修改完配置文件后,需要重新加载让它生效。可以使用以下命令:
redis-cli -p <port> CONFIG RELOAD
或者重启Redis服务:
你就调整了Redis的最大连接数。但是,记得做任何配置更改前先评估你的服务器,以确保它可以处理更多的连接。
config set maxclients num 可以设置redis允许的最大连接数
127.0.0.1:6379> CONFIG set maxclients 10
OK
127.0.0.1:6379>
启动redis.service服务时加参数–maxclients 100000来设置最大连接数限制
redis-server --maxclients 100000 -f /etc/redis.conf
3. 合理设置超时时间:
在 Redis 的配置文件 redis.conf 中,你可以找到 timeout 项来设置这个值:
timeout 300
这里的设置意味着如果客户端连接空闲了 300 秒,就会被自动断开。如果你将其设置为 0,就表示禁用自动断开功能。
4.查看redis 版本
5.redis 启动
./redis-server ../redis.conf
(1) ./redis-server --version
客户端输入INFO命令