实例详解MySQL占用内存过大解决方法
MySQL是一种常用的关系型数据库管理系统。但是随着数据的增加,MySQL占用的内存也会越来越大。这对于一些小资玩家来说,服务器数量和内存是有限的,内存占用过大会影响系统的稳定性和性能。下面介绍一种解决MySQL占用内存过大的方法。
1. 找到配置文件
Windows上的配置文件默认位置是:C:\ProgramData\MySQL\MySQLServer8.0\my.ini
CentOS7上的配置文件默认路径是:/etc/my.cnf
2. 修改配置文件
找到并修改以下三个参数:
table_definition_cache:修改为400。可以存储在定义缓存中的表定义数(来自.frm文件)。如果使用大量表,可以创建大型表定义缓存以加快表的打开速度。与普通的表缓存不同,表定义缓存占用更少的空间,并且不使用文件描述符。最小值和默认值均为400。
table_open_cache:修改为256。MySQL每打开一个表,都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时,才会去磁盘上读取。所有线程的打开表数。增加该值会增加mysqld所需的文件描述符的数量。因此,您必须确保在[mysqld_safe]部分的变量“open_files_limit”中将允许打开的文件量设置为至少4096。
performance_schema:修改为off。用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况,关闭之后可以节省开销,不会使server的行为发生变化。
3. 重启MySQL
Windows上以管理员身份启动控制台,输入net stop mysql,然后再输入net start mysql。重启之后MySQL占用的内存应该会降低。
CentOS7上控制台输入service mysqld restart即可重启。如果不行的话,可以试试/etc/init.d/mysqld restart这个指令。
注意事项:
1. 这种方法是通过降低性能来换取内存,适用于请求不是特别高的情况。
2. 如果对吞吐量要求比较高的情况,需要根据实际请求进行调整。
总之,通过修改MySQL的配置文件可以减小其占用的内存,提高系统的稳定性和性能。

-
MySQL Workbench怎么建立数据库(附:sql语句创建数据库方法) 2023-07-20 12:22:29
-
MySQL Workbench是什么?(附:如何设置中文教程) 2023-07-20 11:42:31
-
一起聊聊MySQL主从延时的处理方案 2023-05-14 07:00:03
-
mysql修改表结构的语句是什么 2023-05-14 07:00:03
-
mysql驱动是什么 2023-05-14 07:00:03
-
MySQL 语法整理介绍 2023-05-14 07:00:03
-
mysql怎么将查询结果赋给变量 2023-05-14 07:00:03
-
qt5.8如何连接mysql 2023-05-14 07:00:03
-
mysql乐观锁和悲观锁的区别是什么 2023-05-14 07:00:03
-
mysql读写分离实现方式是什么 2023-05-14 07:00:02