mysql中如何查看表空间

mysql 查看表空间

主要是查看创建的库和系统自带的库大小

 - SELECT table_schema,
         concat(sum(round(data_length / (1024 * 1024), 2)), 'MB')  data_length,
         concat(sum(round(index_length / (1024 * 1024), 2)), 'MB') index_length,
         concat(sum(round(round(data_length + index_length) / (1024 * 1024), 2)), 'MB')total_size FROM information_schema.TABLES group by  
   table_schema;

mysql 临时表空间不足解决

当数据量过大时,通过工具(sqlYog、Navicat)查询表数据时,

会报Got error 28 from storage engine错误

详情截图如下

mysql中如何查看表空间_第1张图片

网上搜寻好解决方法,好多都是直接清空临时表空间,感觉不可以行,如果是重要数据,仅仅因为内存不足,清空表空间,造成数据丢失,就得不偿失了,经过多方搜寻,

查找思路以及解决方案

1.进入mysql自带的临时表空间目录,linux一般为:mysql/data下:cd usr/local/mysql

2.查看占用内存情况:du -sh *

mysql中如何查看表空间_第2张图片

3.占用40g内存的即为表数据存放处,如不是重要数据,清空里面的数据即可(数据库中的数据也同样会消失)

4.如是重要数据,修改my.cnf文件(一般再mysql安装目录下)在mysqld下面添加tmpdir=/home/mysql (/home/mysql`为自己自定义的表空间)

mysql中如何查看表空间_第3张图片

5.重启mysql,会发现,可以正常使用

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(mysql中如何查看表空间)