本文由 宝塔面板 教程栏目给大家介绍关于宝塔数据库占用磁盘过大问题怎么解决,希望对需要的你有所帮助! 宝塔数据库占用磁盘过大 今天查看服务器磁盘快满了,于是查找原因。发
本文由宝塔面板教程栏目给大家介绍关于宝塔数据库占用磁盘过大问题怎么解决,希望对需要的你有所帮助!
今天查看服务器磁盘快满了,于是查找原因。发现了两个方面的原因;
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