之前MySQL服务占用内存大概是60多M的样子,笔记本前天清了一次灰,可能是因为把电池拆下来的缘故,清完灰打开电脑检验有没有问题的时候,MySQL报了个错,我没仔细看就叉掉了。
昨天需要用到MySQL的时候,再次把服务打开,结果发现内存占用达到了400多M。感觉有点蛋疼,就上网搜解决办法。
最终的方案是这样:
进入 C:\ProgramData\MySQL\MySQL Server 5.6 目录下,打开my.ini 文件,在最后几行找到table_definition_cache=1400,默认是1400,
修改成最小值400.
内存占用从400多M,变为60多M。效果拔群。
至于原理。我暂时没有深究。而网上搜的许多办法都没有用。所以在这里记录一下。
这里有个需要注意的地方,mysql的安装目录下也有个配置文件,叫mydefault.ini,而这里需要修改的my.ini,并不是在mysql的安装目录下,而是在解决方案提到的那个目录里。
再次重启机器后,mysql服务的内存占用只有6M。。。使用起来暂时没什么问题。出问题的话会在这里随时更新。
最近在想学习PHP,就下载了WAMP安装包,里面自带了一个MySQL,安装之后,发现这个MySQL服务也有400多M,于是我进入他的my.ini,添加了一行设置。
[mysqld]
port=3306
explicit_defaults_for_timestamp = TRUE
table_definition_cache=400
重启服务之后,内存占用从400多M,回到了70多M。