千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:成都千锋IT培训  >  技术干货  >  mysql怎么查看连接池是否已满?

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

来源:千锋教育
发布人:xqq
时间: 2023-10-17 21:20:19

一、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缓存读取。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

sql server2012r2所在服务器做端口限制,需要开放什么端口才能继续访问数据库?

2023-10-17

Oracle有什么优势和劣势?

2023-10-17

CSS 隐藏页面元素有哪些方法?

2023-10-17

最新文章NEW

数据库聚集索引非聚集索引实现上有哪些区别?

2023-10-17

开发web应用,好的开发流程是怎么样的?

2023-10-17

为什么说Gradle是Android进阶绕不去的坎?

2023-10-17

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>