1:mysql命令行:

 

[root@localhost ~]# mysql -e "select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA = 'ming' and information_schema.TABLES.TABLE_NAME = 'test' \G"

*************************** 1. row ***************************

  TABLE_CATALOG: NULL

   TABLE_SCHEMA: ming

     TABLE_NAME: test

     TABLE_TYPE: BASE TABLE

         ENGINE: MyISAM

        VERSION: 10

     ROW_FORMAT: Fixed

     TABLE_ROWS: 406600

 AVG_ROW_LENGTH: 117 

    DATA_LENGTH: 47572200

MAX_DATA_LENGTH: 32932572275146751

   INDEX_LENGTH: 4174848

      DATA_FREE: 0

 AUTO_INCREMENT: 614609

    CREATE_TIME: 2011-01-07 21:45:55

    UPDATE_TIME: 2011-01-09 14:20:17

     CHECK_TIME: NULL

TABLE_COLLATION: latin1_swedish_ci

       CHECKSUM: NULL

 CREATE_OPTIONS: 

  TABLE_COMMENT: 

[root@localhost ~]# 

 

说明:

information_schema.TABLES.TABLE_SCHEMA = 'ming' and information_schema.TABLES.TABLE_NAME = 'test'

信息存储在information_schema.TABLES这个表中,TABLE_SCHEMA 对应数据库名,TABLE_NAME 对应表名。

# 总大小 = DATA_LENGTH + INDEX_LENGTH

 

2:直接查看数据文件

 

[root@localhost ~]# ls -l /opt/mysql/var/ming/

总用量 50560

-rw-rw----  1 mysql mysql     8706  1月  7 21:45 test.frm

-rw-rw----  1 mysql mysql 47522124  1月  9 14:19 test.MYD

-rw-rw----  1 mysql mysql  4170752  1月  9 14:19 test.MYI

-rw-rw----  1 mysql mysql       65  1月  7 21:45 db.opt

[root@localhost ~]#

文件对应关系
test.MYD => DATA_LENGTH
test.MYI  => INDEX_LENGTH

3.查看mysql数据库大小

 

SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH)  

FROM information_schema.TABLES where TABLE_SCHEMA='数据库名';  

得到的结果是以字节为单位,除1024为K,除1048576(=1024*1024)为M。
 

4.查看表的最后mysql修改时间

 

 

select TABLE_NAME,UPDATE_TIME from INFORMATION_SCHEMA.tables where TABLE_SCHEMA='数据库名';  

可以通过查看数据库中表的mysql修改时间,来确定mysql数据库是否已经长期不再使用。