mysql查看數據庫和表的佔用空間大小

mysql查看數據庫和表的佔用空間大小

 

  1. 第一部分-任務

將線上db,導出後,導入到office db

一.

兩種方案:

1,將數據直接從online-->office,通過mysqldump

通過本地putty等和ecs建隧道,然後傳數據到本地.(本地win可以按照gzip,壓縮後傳到office server)

2,先在ecs上mysqldump壓縮,然後下載下來

下載方案:

1,rsync daemon

2,rsync ssh

3,scp

4,sz <----這種速度較快,前三者都差不多,記得md5sum

 

 

  1. 第二部分

查看數據庫大小

1.查看數據庫的大小

 

use 數據庫名

SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES where TABLE_SCHEMA='數據庫名';

得到的結果是以字節爲單位,除1024爲K,除1048576爲M。

 

2.查看錶的最後mysql修改時間

 

select TABLE_NAME,UPDATE_TIME from INFORMATION_SCHEMA.tables where TABLE_SCHEMA='數據庫名';

可以通過查看數據庫中表的mysql修改時間,來確定mysql數據庫是否已經長期不再使用。

 

3.查看數據庫中各個表佔用的空間大小

 

 

如果想知道MySQL數據庫中每個表佔用的空間、表記錄的行數的話,可以打開MySQL的 information_schema 數據庫。在該庫中有一個 TABLES 表,這個表主要字段分別是:

 

TABLE_SCHEMA : 數據庫名

TABLE_NAME:表名

ENGINE:所使用的存儲引擎

TABLES_ROWS:記錄數

DATA_LENGTH:數據大小

INDEX_LENGTH:索引大小

 

其他字段請參考MySQL的手冊,我們只需要瞭解這幾個就足夠了。

 

所以要知道一個表佔用空間的大小,那就相當於是 數據大小 + 索引大小 即可。

 

SQL:

 

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA='數據庫名' AND TABLE_NAME='表名'

 

4.查看錶的最後mysql修改時間

 

select TABLE_NAME,UPDATE_TIME from INFORMATION_SCHEMA.tables where TABLE_SCHEMA='數據庫名';

 

可以通過查看數據庫中表的mysql修改時間,來確定mysql數據庫是否已經長期不再使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章