如何查看mysql数据库连接池信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看mysql数据库连接池信息相关的知识,希望对你有一定的参考价值。

参考技术A 1、把数据库驱动包 copy 到 %CATALINA_HOME%\common\lib 下。

2、修改 %CATALINA_HOME%\conf\server.xml 文件,在 <Host> 节点下添加:

XML/html code?

<!-- appName 为项目名 --!>
<Context path="/appName" docBase="appName" auth="Container">
<Resource name="jdbc/mysqlDS" scope="Shareable"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/test?useUnicode=true&charact-erEncoding=GBK"
driverClassName="com.mysql.jdbc.Driver"
username="root" password="111111"
maxWait="3000" maxIdle="100" maxActive="10" />
</Context>

(或者在 %appName%\META-INF 下建立 context.xml,内容为上面的代码。)

3、修改 web.xml,在 <web-app> 节点下添加:

XML/HTML code?

import java.sql.Connection;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class DBUtil

public Connection getConnection() throws Exception
Context context = new InitialContext();

// 获取数据源
DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/MySQLDS");

// 获取数据库连接
Connection conn = ds.getConnection();

if (conn != null && !conn.isClosed())
return conn;
else
return null;



本回答被提问者和网友采纳

MySql 数据库连接池

最近发布的一个项目总是无缘无故的断线,在IIS机器上直接浏览也不会出现黄页面,就是一直加载,最后断线。

重启IIS后恢复正常。

 

经过几次后,查看了IIS日志和WINDOWS日志,在WINDOWS日志中发现错误信息如下:

 <Data>error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.</Data>  
 
大概百度了一下是数据库连接池的问题,解决方式如下:
 

show variables like ‘max_connections‘  //显示最大的数据库连接数

set GLOBAL max_connections = 200;  //修改最大数据库连接数

<add key="data" value="server=IP; Port=3306; uid=root; pwd=root;database=data;pooling=true;min pool size=5;max pool size=512;connect timeout = 20; "/> 

不知是否已经根治,但目前还未出现问题。

以上是关于如何查看mysql数据库连接池信息的主要内容,如果未能解决你的问题,请参考以下文章

MySql 数据库连接池

MySQL数据库用啥连接池好

如何配置mysql数据库连接池

如何判断mysql数据库连接池是不是连接

Tomcat Pooling DataSource数据库连接池优化(20180705)

C语言有mysql数据库连接池吗?