全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

mysql怎么查看连接池是否已满?

发布时间:2023-10-13 02:24:59
发布人:xqq

一、mysql怎么查看连接池是否已满

1.查看连接数配置(MySQL服务器允许的最大连接数16384)
show variables like ‘%max_connections%’

2.查看当前连接数
方法1:show full processlist (需要用管理员帐号)

方法2:mysqladmin -u root -proot status(Threads 值是当前连接数)
如果当前连接数和连接数配置接近,说明连接数差不多满了。

使用 MySQL 数据库的站点,当访问连接数过多时,就会出现 “Too many connections” 的错误。出现这种错误有两种情况,一种是网站访问量实在太大,服务器已经负担不起,此时就应该考虑负载均衡或者其它减少服务器压力的办法。另一种情况就是 MySQL 的连接池大连接数设置得太小,当访问量稍大就出现连接过多的错误。win7下配置PHP+Apache+Mysql运行环境

MySQL 默认的连接池大连接数为 100,可以在 mysql 客户端使用以下命令查看
mysql> show variables like ‘max_connections’;

此命令将得到类似以下的输出结果:

+—————–+——-+
| Variable_name | Value |
+—————–+——-+
| max_connections | 2000 |
+—————–+——-+
1 row in set (0.00 sec)

  要对 mysql 的连接池大连接数进行修改,只需要在 my.cnf 配置文件里面修改 max_connections 的值,然后重启 mysql 就行。如果 my.ini 文件中没有找到 max_connections 条目,可自行添加以下条目

max_connections = 200

修改MySQL连接池大连接数

方法一:

进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MySQL即可

方法二:

MySQL连接池大连接数默认是100客户端登录:

MySQL -uusername -ppassword

设置新的MySQL连接池大连接数为200:

MySQL> set GLOBAL max_connections=200

显示当前运行的Query:

MySQL> show processlist

显示当前状态:

MySQL> show status

退出客户端:MySQL> exit

查看当前MySQL连接池大连接数:MySQLadmin -uusername -ppassword variables

方法三:

以centos 4.4 下面的MySQL 5.0.33 手工编译版本为例说明:

vi /usr/local/MySQL/bin/MySQLd_SAFe

找到SAFe_MySQLd编辑它,找到MySQLd启动的那两行,在后面加上参数 :

-O max_connections=1500

具体一点就是下面的位置:

then $NOHUP_NICENESS $ledir/$MySQLD     

延伸阅读:

二、undo log的工作原理

在更新数据之前,MySQL会提前生成undo log日志,当事务提交的时候,并不会立即删除undo log,因为后面可能需要进行回滚操作,要执行回滚(rollback)操作时,从缓存中读取数据。undo log日志的删除是通过通过后台purge线程进行回收处理的。

1、事务A执行update操作,此时事务还没提交,会将数据进行备份到对应的undo buffer,然后由undo buffer持久化到磁盘中的undo log文件中,此时undo log保存了未提交之前的操作日志,接着将操作的数据,也就是Teacher表的数据持久保存到InnoDB的数据文件IBD。

2、此时事务B进行查询操作,直接从undo buffer缓存中进行读取,这时事务A还没提交事务,如果要回滚(rollback)事务,是不读磁盘的,先直接从undo buffer缓存读取。

#it技术干货

相关文章

关系型数据库是什么?

关系型数据库是什么?

2023-10-13
什么是分库分表?

什么是分库分表?

2023-10-13
什么情况下需要使用分布式数据库?

什么情况下需要使用分布式数据库?

2023-10-13
区块链和分布式数据库有什么本质不同?

区块链和分布式数据库有什么本质不同?

2023-10-13

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取