首页 > 数据库 >MySQL查看数据库、表占用磁盘大小

MySQL查看数据库、表占用磁盘大小

时间:2022-12-08 19:12:22浏览次数:42  
标签:1024 NO 数据库 length MySQL 磁盘 data sum concat

 

直接复制执行

1、查询所有数据库占用磁盘空间大小

select
TABLE_SCHEMA,
concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,
concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
from information_schema.tables
group by TABLE_SCHEMA
ORDER BY data_size desc;
select concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size,
         concat(truncate(sum(max_data_length)/1024/1024,2),'MB') as max_data_size,
         concat(truncate(sum(data_free)/1024/1024,2),'MB') as data_free,
         concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
  from information_schema.tables
where TABLE_SCHEMA = 'databasename'; # databasename 具体库名

2、查询单个库中所有表磁盘占用大小

select concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size,
         concat(truncate(sum(max_data_length)/1024/1024,2),'MB') as max_data_size,
         concat(truncate(sum(data_free)/1024/1024,2),'MB') as data_free,
         concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
  from information_schema.tables
where TABLE_NAME = 'tablename'; # tablename 具体表名
-- 查看数据库中所有表的信息
SELECT
    concat( table_schema, '.', table_name ) AS 'Table Name',
    table_rows AS 'Number of Rows',
    concat( round( data_length / ( 1024 * 1024 * 1024 ), 6 ), ' G' ) AS 'Data Size',
    concat( round( index_length / ( 1024 * 1024 * 1024 ), 6 ), ' G' ) AS 'Index Size',
    concat( round( ( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 6 ), ' G' ) AS 'Total' 
FROM
    information_schema.TABLES W 
WHERE
    table_schema LIKE 'database name';

3、查看表空间

# 单位GB
SELECT concat( round( sum( data_length ) / ( 1024 * 1024 * 1024 ), 6 ), 'GB' ) AS 'Total Data Size' 
FROM information_schema.TABLES 
WHERE table_schema LIKE 'database name';

4、查看索引空间

SELECT CONCAT( ROUND( SUM( index_length ) / ( 1024 * 1024 * 1024 ), 6 ), ' GB' ) AS 'Total Index Size' 
FROM information_schema.TABLES 
WHERE table_schema LIKE 'dabatase name';

5、使用optimize命令

optimize table tb_report_inventory;

使用的时间比较长,需要耐心等待。

注意:optimize执行时会将表锁住,所以不要在高峰期使用。也不要经常使用,每月一次就足够了

问题

若执行 2、查询单个库中所有表磁盘占用大小出现以下报错:

Expression #2 of SELECT list is not in GROUP BY clause and contains
nonaggregated column ‘sss.month_id’ which is not functionally
dependent on columns in GROUP BY clause; this is incompatible with
sql_mode=only_full_group_by

解决方法一:
此方法只是临时解决,重启mysql服务器会还原。

打开navcat,

用sql查询:

select @@global.sql_mode

查询出来的值为:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

去掉ONLY_FULL_GROUP_BY,重新设置值。

set @@global.sql_mode
=’STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;

解决方法二:

成功的步骤:

打开文件

sudo vim /etc/mysql/conf.d/mysql.cnf

滚动到文件底部复制并粘贴

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

到文件的底部

保存并退出输入模式

sudo service mysql restart

重启MySQL。
完成!

 
 

标签:1024,NO,数据库,length,MySQL,磁盘,data,sum,concat
From: https://www.cnblogs.com/xiaoxi-jinchen/p/16967024.html

相关文章

  • dba-数据库启停
       selectstatusfromv$instance  ---服务器当前状态1.shutdown  关闭数据库(1)shutdownnormal:正常方式关闭数据库正常的关闭方式,如果对于关闭数据库的时......
  • JDBC 数据库连接池
    jdbc的链接//1.导入数据库驱动Class.forName("com.mysql.jdbc.Driver");//2.获取连接对象try{Stringurl="jdbc:mysql://localhost:3306/student?useSSL=false";//......
  • CentOS7查看哪个文件占磁盘空间过大
    CentOS7查看哪个文件占磁盘空间过大下面是一个思路,看明白再去操作查看自己机器情况即可。df-h查看整个磁盘情况可以看到根目录已经使用了79%,已用49%,只有35G可以使......
  • sqlite3_数据库-存储和统计数据
    history2022-11-163.40.02022-09-29(3.39.4)2004-06-09(2.8.14)2001-09-28(2.0.0)2001-07-23(1.0.32)2000-08-17(1.0)2000-05-29下载和安装下载-安装-配......
  • docker 启动mysql 失败 mysqld: Can't read dir of '/etc/mysql/conf.d/
    [root@localhost~]#dockerlogs-f55cca96ac3b62022-12-0808:27:23+00:00[Note][Entrypoint]:EntrypointscriptforMySQLServer5.7.40-1.el7started.2022-12-0......
  • MySQL高可用MHA集群
    一、MHA概述1.1什么是MHAMHA(MasterHighAvailability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA的出现就是解决MySQL单点故障的问题。MySQL......
  • MYSQL-INNODB索引构成详解
    作者:郑啟龙摘要:对于MYSQL的INNODB存储引擎的索引,大家是不陌生的,都能想到是B+树结构,可以加速SQL查询。但对于B+树索引,它到底“长”得什么样子,它具体如何由一个个字节构成的,......
  • mysql 常见统计方案整理汇总
    普通分组统计场景一:根据订单状态统计订单数量。一个很常见,也很简单的统计需求。其中状态字段是订单实体的一个属性selectcount(*)countfromordersgroupbystatus;......
  • MySQL性能监控命令explain,profile
    这种理论性的东西网上搜一搜到处都是,但是遇到问题还是要亲自用一下。explain命令查看查询优化器如何决定查询的主要方法。即查看sql的执行效率,帮助我们分析select语句,让我......
  • MySql存储引擎InnoDB和MyISAM
    MySql存储引擎MyISAM:拥有较高的插入,查询速度,但不支持事务InnoDB:5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持ACID事务,支持行级锁定mysql的底层使用b+树来存储索......