共计 820 个字符,预计需要花费 3 分钟才能阅读完成。
这段时间阿蛮君发现 mysql 一启动就会占用 300m+ 的内存,一段时间后就增加到 500m+。
于是想着怎么让它不占用那么多,毕竟对博客来说应该不必要,文章能占多少空间,查询也不费力。
如果你硬要问我为什么要纠结它占用内存的多少,那我只能实话实说服务器实在太贵!!!
上网搜索,最终在 mysql 添加如下配置,注意 linux 和 windows 下的配置文件后缀不同,阿蛮君是修改的 my.cnf。
如果你是和阿蛮君用 docker 搭建,那么在 conf.d 下新建 my.cnf 即可,之前有教程 Docker 安装 Mysql 5.x 和 8.x。
[mysqld]
performance_schema_max_table_instances=100
table_definition_cache=100
table_open_cache=64
performance_schema=off
具体参数解释如下:
performance_schema_max_table_instances=100:这个参数指定了 Performance Schema 模块中表实例的最大数量,即用于统计和监控 MySQL 内部操作的表。将其设置为 100 表示可以监控到一定数量的表,但不会占用过多的内存资源。
table_definition_cache=100:这个参数指定了 MySQL 缓存表定义信息的数量,包括表结构和索引等信息。设置一个合理的缓存大小可以提高查询的效率,减少解析 SQL 语句的时间。
table_open_cache=64:这个参数指定了 MySQL 缓存打开的表的数量。每次打开表都需要消耗一定的资源,因此通过适当增加缓存数量可以减少频繁打开和关闭表的次数,从而提高查询效率。
performance_schema=off:这个参数用于控制是否开启 Performance Schema 模块,该模块用于收集和统计 MySQL 内部操作的性能数据。禁用该模块可以减少对系统资源的占用,但也会影响一些性能分析的功能。
提醒:本文发布于184天前,文中所关联的信息可能已发生改变,请知悉!