如何查看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
参考文档:https://www.niaoyun.com/docs/16385.html/?utm_source=phpc-220112