分类 数据库 下的文章

MySQL连接数过多的时候,排查问题的方法,可以查看每一个连接都执行了什么语句。

执行一下这个SQL语句进行查看。

select id, db, user, host, command, time, state, info 
from information_schema.processlist 
where command != 'Sleep'  order by time desc

image.png

info列就是正在执行的SQL语句。

关于MySQL连接过多的排查方法
在一些项目上会出现mysql连接过多导致后台无法正常访问,出现这个问题的原因可能有以下几点。
1,数据库连接池数量开的太多。
2,MySQL的超时关闭空闲连接时间太长。
3,MySQL的连接数太少。

现在的解决办法就是从这三方面去优化。
1,尽量减少数据库连接池的开销。数据库连接池如果处理的过来,越少越好,控制在50以内吧。
2,修改MySQL的配置文件my.ini里面的wait_timeout和interactive_timeout参数,默认值28800是8个小时的时间,这两个参数必须要同时修改成600,就是10分钟的空闲连接,mysql就会自动关闭。但是,这样做就必须要注意的事情就是在我们的程序里面必须要在10分钟内最少要使用一次MySQL,否则就有可能导致mysql连接断开,需要重连。
3,去修改mysql配置文件my.ini里面的max_connections参数,这个是6000,基本上不用修改,如果第1步和第2步都修改了,仍然有问题,那可以把这个参数调大一点。实际上并不是这个值越大越好,因为这个受限制于硬件,如果硬件配置低,修改的再大也没有用。所以需要具体情况具体分析。


在安装Oracle的数据库过程中,只需要一直下一步就可以,在这个过程中有两个地方是需要注意一下,就是有一个设置密码和管理口令的地方,需要修改一下密码,其他的基本上下一步就行了。

在安装完成Oracle以后,用Navicat工具连接的时候,需要注意的是那个服务名需要查看安装Oracle生成的那个服务名,具体目录是D:\install\oracle11g\product\11.2.0\dbhome_1\NETWORK\ADMIN这个目录下,查看tnsnames.ora文件里面的内容,如图所示

image.png


image.png


同时Navicat需要修改一下动态库oci要选中Oracle的instant12

image.png



辽公网安备21010602000703号 备案号:冀ICP备2022001219号