千家信息网

mysql 实例下具体查看库,和表的大小

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,1.mysql 查看实例下,每个库的大小select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as dat
千家信息网最后更新 2025年01月22日mysql 实例下具体查看库,和表的大小
1.mysql 查看实例下,每个库的大小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_sizefrom information_schema.tablesgroup by TABLE_SCHEMAorder by data_length desc;2.mysql 查看具体某个库里面的某个表的大小。select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables where table_schema=\"${db}\" AND table_name=\"${table}\"3.查看mysql 实例下,所有库下的每个表的大小。#!/bin/bash>allsize.txtfor n in `cat mysqlbackuplist.txt`do        echo ========= ${n} =========  >>allsize.txt    for db in `mysql -uroot -ppassword -h$n -e 'show databases;' |awk  'NR>1{print $1}'|egrep -v 'schema|tmp|sys|innodb|mysql|tigasedb'`    do        >${db}size.txt        echo ========= ${db} =========        echo ========= ${db} ========= >>allsize.txt        for table in `mysql -uroot -ppassword -h$n -e "use ${db}; show tables"`        do            selectsql="select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables where table_schema=\"${db}\" AND table_name=\"${table}\";"            mysql -uroot -ppassword -h$n -e "use information_schema; $selectsql" |awk -v table=$table 'NR>1{print table "  " $1}'  >>${db}size.txt                    done        cat ${db}size.txt|sort -k 2 -rn >> allsize.txt    done done


0