今天查看服务器磁盘快满了,于是查找原因。发现了两个方面的原因;
1、mysql-bin.000001文件多且大;
mysql> reset master;
运行上面的命令,清除日志;
2、MySQL目录ibdata1文件过大;
1、备份数据库中的数据。
1 2 3 | 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服务。
3、删除ibdata1、ib_logfile*等文件
1 2 3 | mv ibdata1 ibdata1.20160419
mv ib_logfile0 ib_logfile0.20160420
mv ib_logfile1 ib_logfile1.20160420
|
4、修改my.cnf配置文件
在[mysqld]子项下增加如下配置:
1 | innodb_file_per_table = 1
|
6、重启MySQL服务
1 2 | service mysql start
ps -ef|grep mysql
|
7、恢复数据(重新导入数据)
1 2 3 | mysql -u root -p
Enter password:
source /home/all-databaes.sql
|