mysql查看數據庫和表的佔用空間大小
將線上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.查看數據庫的大小
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數據庫是否已經長期不再使用。