如何查看MySQL数据库占多大内存,占用太多内存怎么办?

最近用的云服务器的数据库似乎占据了太多的内存,想知道查看的方式和解决的方法,于是整理了相关资料。

先说下我的服务器:小鸟云香港高防节点,4核4g10m,送50g防御,搭建小型网页游戏,访问不多,数据库用于存储数据。

MySQL数据库占用操作系统内存,主要分为两部分

第一部分为:innodb存储引擎占用的buffer pool size,一部分为myism存储引擎占用的内存大小

第二部分为:MySQL数据库应用会话占用的内存大小

1.切换数据库

use information_schema;

2.查看数据库使用大小

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’DB_Name’ ;

3.查看表使用大小

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’DB_Name’ an

d table_name=’Table_Name’;


具体情况简单说明:
1、显示数据库
show databases;
2、选择数据库
use 数据库名;
3、显示数据库中的表
show tables;
4、显示数据表的结构
describe 表名;
5、显示表中记录
select * from 表名;
6、建库
create databse 库名。

如果是启动就占用很多内存可以检查数据库端口连接数

netstat -nao ---- Windows命令

netstat -natpl --- Linux 命令

优化my.ini数据库服务器参数,适当调整以下参数值。再重启试试看内存占用是否减少了。

performance_schema_max_table_instances=11000

table_definition_cache=10000

max_connections=1500

参考文档:MySQL数据库占用太多内存?-数据库问题-常见问题-云服务器-云计算 - 小鸟云

上一篇:MySQL 社区版


下一篇:python 自动输入验证码