温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-22 05:17:26 来源:网络 阅读:2175 作者:lvnian2009 栏目: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_size
from information_schema.tables
group by TABLE_SCHEMA
order 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.txt
for 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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI