MySQL ibdata1 佔用空間大 釋放 MySQL ibdata1 檔案的空間
説明: mysql 有多種儲存引擎,比如 MyISAM 、 InnoDB 很常用。 如果用的 InnoDB, 且使用 mysql 預設的配置檔案,MySQL 的資料都會存放在 ibdata1 檔案中,經過一段時間此檔案會變的非常大,佔用大量磁碟空間。如何把 mysql 佔用的空間釋放出來。
mysql ibdata1 存放資料,索引等,是 MYSQL 的最主要的資料。
步驟:
1,備份資料庫
備份全部資料庫,執行命令mysqldump -uusername -ppassword –all-databases > /backup/all.sql 或者只備份需要的庫。
刪除資料庫
drop database A;
drop database B;
停止資料庫: service mysqld stop
2,修改 mysql 配置檔案
修改 my.cnf 檔案,增加下面配置
innodb_file_per_table
對每張表使用單獨的 innoDB 檔案, 修改/etc/my.cnf 檔案
3,刪除原資料檔案
刪除原來的 ibdata1 檔案及日誌檔案 ib_logfile*,刪除 data 目錄下的應用資料庫資料夾 (mysql,test,information_schema 資料庫本身資料夾不要刪除)
4,還原資料庫
啓動資料庫服務 service mysqld start
還原全部資料庫,執行命令 mysql -uusername -ppassword