mysql中如何查看表空间
作者:zxp0001
这篇文章主要介绍了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错误
详情截图如下
网上搜寻好解决方法,好多都是直接清空临时表空间,感觉不可以行,如果是重要数据,仅仅因为内存不足,清空表空间,造成数据丢失,就得不偿失了,经过多方搜寻,
查找思路以及解决方案
1.进入mysql自带的临时表空间目录,linux一般为:mysql/data下:cd usr/local/mysql
2.查看占用内存情况:du -sh *
3.占用40g内存的即为表数据存放处,如不是重要数据,清空里面的数据即可(数据库中的数据也同样会消失)
4.如是重要数据,修改my.cnf文件(一般再mysql安装目录下)在mysqld下面添加tmpdir=/home/mysql
(/home/mysql`为自己自定义的表空间)
5.重启mysql,会发现,可以正常使用
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。