今天查看伺服器磁碟快滿了,於是尋找原因。發現了兩個方面的原因;
1、mysql-bin.000001檔案多且大;
mysql> reset master;
執行上面的指令,清除日誌;
2、MySQL目錄ibdata1檔案過大;
1、備份資料庫中的資料。
mysqldump -u root -p --extended-insert --all-databases --add-drop-database --disable-keys --flush-privileges --quick --routines --triggers > /home/all-database.sql //有的文档用的是这样的参数: mysqldump -q -uroot -p --add-drop-table --all-databases --events >/home/all-database.sql
登入後複製
如果ibdata1上百GB,備份過程可能需要幾小時。
2、停止MySQL服務。
service mysql stop
登入後複製
3、刪除ibdata1、ib_logfile*等檔案
mv ibdata1 ibdata1.20160419 mv ib_logfile0 ib_logfile0.20160420 mv ib_logfile1 ib_logfile1.20160420
登入後複製
4、修改my.cnf設定檔
vi /etc/mysql/my.cnf
登入後複製
在[mysqld ]子項下增加以下配置:
innodb_file_per_table = 1
登入後複製
6、重啟MySQL服務
service mysql start ps -ef|grep mysql
登入後複製
7、復原資料(重新匯入資料)
mysql -u root -p Enter password: source /home/all-databaes.sql
登入後複製