开发者社区> 问答> 正文

问一个mysql配置的问题, 非常严重.. : 配置报错 

max_connections=100
这是my.ini中配置影响MySQL最大连接数. 假如不设置, 默认似乎是100
win本地单机测试, 无任何mysql连接, 使用与操作.  在设置10000时, 启动MySQL就占用2GB内存.
在设置1000000时, 直接死机(切勿测试这个值,不然...), 
现在问题是, 为什么根本没有连接的mysql配置, 也会让内存暴涨?  

展开
收起
kun坤 2020-06-04 11:55:14 414 0
1 条回答
写回答
取消 提交回答
  • 正常,Ubuntu上也是这样的,我在MySQL 5.6(Percona Server)上测试过,

    max_connections 的默认值是151(我这里的内存占用为63MB),最大值为16384(我这里的内存占用为1277MB)。

    ######

    引用来自“eechen”的评论

    正常,Ubuntu上也是这样的,我在MySQL 5.6(Percona Server)上测试过,

    max_connections 的默认值是151(我这里的内存占用为63MB),最大值为16384(我这里的内存占用为1277MB)。

    感觉这是MySQL的bug.
    用户设置成10万, 就直接死机, 然后就再也无法启动了.. ######

    引用来自“eechen”的评论

    正常,Ubuntu上也是这样的,我在MySQL 5.6(Percona Server)上测试过,

    max_connections 的默认值是151(我这里的内存占用为63MB),最大值为16384(我这里的内存占用为1277MB)。

    引用来自“Tuesday”的评论

    感觉这是MySQL的bug. 用户设置成10万, 就直接死机, 然后就再也无法启动了.. 就算你使用了PHP的 MySQL持久连接p:127.0.0.1,一个进程保持一个数据库连接,也不需要过万的,默认的151我觉得就完全够用了,毕竟开100多个 PHP进程也太夸张了。######回复 @eechen : 用户可能一不小心输多了个0, 这就导致用户电脑无法开机, 说不过去.######回复 @Tuesday : http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_max_connections 文档都说最大值是16384,你为什么还要zuo呢?######但这配置不应该导致系统死机, MySQL明知道设置高了, 用户电脑会死机, 也没有做些限制..######长见识了,请教各位大师,操作系统有没有一个进程数限制?###### 你配置了线程数就是要求mysql在启动的时候直接创建这么多个实际线程在线程池中等待连接请求提供服务.虽然它们大多数时间是空闲的, 但是就算不服务也占用内存,所以肯定会内存暴涨.mysql虽然支持很多的连接但是实际上是有上限的, 这也是mysql DBA存在的价值. ######回复 @ZeroOne : 看描述, 用户会认为可以设置很大. 结果一设置, 就无法开机了..######回复 @Tuesday : mysql自己没有做限制, 但是机器的硬件条件不是无限的... 而且我觉得对于一个合理的应用来说, 线程不能开的太多, 500就差不多了.######完全没看到上限... 听说是1万6左右. 可我设置成1万, 内存就占2GB, 3万就占了6GB,说明它这3万还是生效了..
    2020-06-05 13:14:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像