數(shù)據(jù)庫總表 ibdata1文件占用,怎么清理呢?
mysql自帶的數(shù)據(jù)庫。建議保留。
數(shù)據(jù)庫變大不是好事嗎?不是代表業(yè)務變多 嗎?難道數(shù)據(jù)庫對你們來說只有1m才能滿意嗎?占點磁盤空間怎么了?站在運維角度上數(shù)據(jù)是無價的
如果執(zhí)意要刪除,參考下面
接下來的配置就是為了解決這個問題。
1、先停止所有訪問數(shù)據(jù)庫的服務;2、導出數(shù)據(jù)文件;
mysqldump -u root -p dbname| gzip > dbname.sql.gz該命令會將數(shù)據(jù)庫壓縮導出,會慢點,如果你數(shù)據(jù)庫并不大的話,可以不用壓縮,那么就是:
mysqldump -u root -p dbname > dbname.sql3、修改mysql配置;
vi /etc/mysql/my.cnf在[mysqld]下添加一行:
innodb_file_per_table并刪除數(shù)據(jù)庫所在路徑中的ibdata1及兩個log文件。然后重新啟動數(shù)據(jù)庫:
service mysql restart接下來登進數(shù)據(jù)庫,使用以下命令查看配置是否生效:
show variables like '%per_table%';如果輸出結(jié)果為on,那么配置已經(jīng)修改成功;4、導入原來的數(shù)據(jù)登入數(shù)據(jù)庫后執(zhí)行:
source dbname.sql或者不登錄mysql執(zhí)行:
mysqldump -uroot -p dbname < dbname.sql;導入完成后即可發(fā)現(xiàn),ibdata1這個文件已經(jīng)不怎么增長了,所有數(shù)據(jù)表的數(shù)據(jù)都會存在他自己目錄下的同名db文件中,這時候清理表數(shù)據(jù)后,空間占用也會相應的減小。