上海网站建设|高端网页设计公司-奈福网络

解决mysql 5.x占用内存过高的问题

来源:奈福网络 时间:2019-01-11 03:13:02
上海网站建设上海网页设计奈福网络科技今天给客户配置一台服务器,但此服务器的硬件配置比较低,内存只有2GB,当MySQL数据库安装好之后,就发现MySQL占用的内存高达400MB,系统剩余的内存少的可怜,所以我们必须要降低MySQL数据库的占用资源。

接下来,就让我们奈福网络的小伙伴给大家分享一下,如何解决mysql数据库占用内存过高的问题。

MySQL 5.5默认存储引擎是innodb,所以一启动就占用了三四百兆的虚拟内存,我们一般用的存储引擎是MyISAM,另外使用MyISAM对于文件备份系统也比较便利,因此我们需要禁用innodb,设置默认的引擎为MyISAM。
解决方法:
在[mysqld]里面加入:
default-storage-engine = MyISAM
innodb=OFF
skip-innodb
重启mysql即可。
 
---
 
To disable InnoDB, use --innodb=OFF or --skip-innodb(新版mysql中已经被loose-skip-innodb取代)
 
---
 
MySQL 5.6+
innodb是MySQL被ORACLE收购后开发的,支持事务和行级锁等高级功能,但是并不是所有人都需要INNODB的,对大部分人来说,以前的MYISAM引擎就够了,一般会选择将默认引擎改为MYISAM,但是innodb还是会耗费内存和硬盘,这时候,就需要把innodb彻底禁用。
 
在以前的MySQL中,一般可以这么设置就行了: 
 
代码如下:
default-storage-engine=MYISAM
innodb=OFF 
 
 
但是在最新的MySQL5.6里,这么设置是没法启动的,需要再增加一句设置: 
 
代码如下:
default-storage-engine=MYISAM
default-tmp-storage-engine=MYISAM
loose-skip-innodb
 
 
不仅如此,还需要添加以下配置,否则程序会很容易退出的: 
 
代码如下:
loose-innodb-trx=0 
loose-innodb-locks=0 
loose-innodb-lock-waits=0 
loose-innodb-cmp=0 
loose-innodb-cmp-per-index=0 
loose-innodb-cmp-per-index-reset=0 
loose-innodb-cmp-reset=0 
loose-innodb-cmpmem=0 
loose-innodb-cmpmem-reset=0 
loose-innodb-buffer-page=0 
loose-innodb-buffer-page-lru=0 
loose-innodb-buffer-pool-stats=0 
loose-innodb-metrics=0 
loose-innodb-ft-default-stopword=0 
loose-innodb-ft-inserted=0 
loose-innodb-ft-deleted=0 
loose-innodb-ft-being-deleted=0 
loose-innodb-ft-config=0 
loose-innodb-ft-index-cache=0 
loose-innodb-ft-index-table=0 
loose-innodb-sys-tables=0 
loose-innodb-sys-tablestats=0 
loose-innodb-sys-indexes=0 
loose-innodb-sys-columns=0 
loose-innodb-sys-fields=0 
loose-innodb-sys-foreign=0 
loose-innodb-sys-foreign-cols=0 
 
禁用innodb之后,重启MySQL服务,如果发现占用内存仍然很高,那么请接着设置:
 
performance_schema_max_table_instances=200
table_definition_cache=200
table_open_cache=128
 
最重要的在这里,划重点哦!
MySQL的最大连接数,很多人设置好了上面的参数,但无论怎么重启mysql服务,内存就是下不来,问题就在此处,此处如果设置过高,占用内存也是很厉害的,可以根据自己的实际情况设置:
max_connections = 100
 
---
 
相关参考:
https://www.huweishen.com/help/php/1590.html
https://www.cnblogs.com/musings/p/5913225.html
 

请将您的建设需求提交给我们

*
*
*
可以简单描述下您的需求

我们会在1个工作日内与您联系,请保持手机畅通

您也可以 QQ在线咨询 或拨打电话:021-31262629

关闭

021-31262629

周一至周五09:00-17:00

输入您的电话,我们即刻给您回电

您也可以咨询我们的在线客服

您好,有什么可以帮您的吗?

网站建设 • 微信移动端开发 • 电商平台建设 • 系统搭建开发

您也可以直接电话沟通:

021-31262629

工作时间:09:00~17:00 非工作时间:18916053475
扫一扫,微信咨询 奈福项目经理为您服务
快速提交您的建设需求

奈福公司银行账号

*注:如果您有其他疑问,可以联系021-31262629核实以上账户信息

如果您也有需求要做

* 请认真填写需求信息,我们会在24小时内与您取得联系。