Mysql查看最大连接数和修改最大连接数的讲解

 更新时间:2019年03月20日 08:40:05   作者:CODETC  
今天小编就为大家分享一篇关于Mysql查看最大连接数和修改最大连接数的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

MySQL查看最大连接数和修改最大连接数

1、查看最大连接数

show variables like '%max_connections%';

2、修改最大连接数

set GLOBAL max_connections = 200;

以下的文章主要是向大家介绍的是MySQL最大连接数的修改,我们大家都知道MySQL最大连接数的默认值是100, 这个数值对于并发连接很多的数据库的应用是远不够用的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些。在使 用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100, 最大可以达到16384。

mysql数据库连接数过多导致系统出错,系统不能连接数据库,关键要看两个数据:

1、数据库系统允许的最大可连接数max_connections。这个参数是可以设置的。如果不设置,默认是100。

2、数据库当前的连接线程数threads_connected。这是动态变化的。

查看max_connections、max_connections的办法下面我们再说。

如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理。

因为创建和销毁数据库的连接,都会消耗系统的资源。而且为了避免在同一时间同时打开过多的连接线程,现在编程一般都使用所谓数据库连接池技术。

但数据库连接池技术,并不能避免程序错误导致连接资源消耗殆尽。

这种情况通常发生在程序未能及时释放数据库连接资源或其他原因造成数据库连接资源不能释放,发生类似错误的简便的检查办法是,在刷新页面时,不断监视threads_connected的变化。如果max_connections足够大,而 threads_connected值不断增加以至达到max_connections,那么,就应该检查程序了。当然,如果采用数据库连接池技术,threads_connected增长到数据库连接池的最大连接线程数时,就不再增长了。

查看 max_connections

show variables like "max_connections";

结果如下:

+-----------------+-------+
| Variable_name  | Value |
+-----------------+-------+
| max_connections | 100  |
+-----------------+-------+

查看 threads_connected

show status like 'Thread_%';

结果如下:

+-------------------+-------+
| Variable_name   | Value |
+-------------------+-------+
| Threads_cached  | 0   |
| Threads_connected | 1   |
| Threads_created  | 1   |
| Threads_running  | 1   |
+-------------------+-------+

设置max_connections

设置办法是在my.cnf文件中找到max_connections一项修改即可,若没有该项,请在[mysqld]下添加一行:

[mysqld] 
max_connections=1000

修改完毕后,重启MySQL即可。当然,为了确保设置正确,应该查看一下max_connections。

注意:

  • 1、这里写的1000。请按实际要求修改;
  • 2、添加了最大允许连接数,对系统消耗增加不大。
  • 3、如果你的mysql用的是my.ini作配置文件,设置类似,但设置的格式要稍作变通。

其他需注意的:

在编程时,由于用MySQL语句调用数据库时,在每次之执行语句前,会做一个临时的变量用来打开数据库,所以你在使用MySQL语句的时候,记得在每次调用完MySQL之后就关闭MySQL临时变量。

另外对于访问量大的,可以考虑直接写到文本中,根据预测的访问量,先定义假若是100个文件文件名,需要的时候,再对所有文本文件中的数据进行分析,再导入数据库。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • mysql查询优化之100万条数据的一张表优化方案

    mysql查询优化之100万条数据的一张表优化方案

    这篇文章主要介绍了mysql查询优化之100万条数据的一张表优化方案,需要的朋友可以参考下
    2021-05-05
  • MySQL 索引分析和优化

    MySQL 索引分析和优化

    MySQL 索引分析和优化...
    2006-12-12
  • MySql中子查询内查询示例详解

    MySql中子查询内查询示例详解

    这篇文章主要介绍了MySql中子查询内查询示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值

    使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值

    MySQL数据表结构中,一般情况下,都会定义一个具有‘AUTO_INCREMENT’扩展属性的‘ID’字段,以确保数据表的每一条记录都可以用这个ID唯一确定
    2011-08-08
  • MySQL 搭建双主复制服务并通过 HAProxy 负载均衡的过程详解

    MySQL 搭建双主复制服务并通过 HAProxy 负载均衡的过程详解

    在数据库管理中,数据的备份和同步是至关重要的环节,而双主复制(Dual Master Replication)作为一种高可用性和数据同步的解决方案,本文将介绍MySQL双主复制的配置过程并通过 HAProxy 负载均衡,感兴趣的朋友一起看看吧
    2024-03-03
  • 两个windows服务器使用canal实现mysql实时同步

    两个windows服务器使用canal实现mysql实时同步

    canal是阿里基于java写的一个组件,他的作用是canal.deployer读取mysql数据的binlog日志,然后canal.adapter将其转换为对应的数据(数据的变化或者变化后的数据,跟配置有关),并且同步到相关中间件,本文实现两个windows服务器使用canal实现mysql主从复制实时同步
    2025-03-03
  • MySQL实现差集(Minus)和交集(Intersect)测试报告

    MySQL实现差集(Minus)和交集(Intersect)测试报告

    MySQL没有实现Minus和Intersect功能,就像它也没有实现cube的功能一样。
    2014-06-06
  • Mysql查看最大连接数和修改最大连接数的讲解

    Mysql查看最大连接数和修改最大连接数的讲解

    今天小编就为大家分享一篇关于Mysql查看最大连接数和修改最大连接数的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Mysql NULL导致的神坑

    Mysql NULL导致的神坑

    这篇文章主要介绍了Mysql NULL导致的神坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • MySQL 使用自定义变量进行查询优化

    MySQL 使用自定义变量进行查询优化

    MySQL自定义变量估计很少人有用到,但是如果用好了也是可以辅助进行性能优化的。需要注意的是变量是基于连接会话的,而且可能存在一些意外的情况,需要小心使用。本篇介绍如何利用自定义变量进行查询优化,提高效率
    2021-05-05

最新评论