Ubuntu 根目录(/)空间不足处理

近几日某快捷酒店的客户资料数据库被曝光,共有2000万条记录。得到备份文件后我就想导入自己服务器的MySQL数据库来处理。可惜一波三折,小问题有如下几个:

一、5.3G的SQL文件通过FTP上传服务器 phpmyadmin 的 upload 文件夹后通过 phpmyadmin 导入,因为结构问题,失败。

二、采用SSH登陆到 MySQL 命令行,Source命令导入 upload 文件夹中的 5.3GB SQL文件成功,可惜随着SSH窗口关闭,期待中的后台继续插入也停止了。

三、采用 Screen 命令开窗口继续 Source ,后台可以正常导入。但是速度真慢,导了五个多小时才进去30万条记录,这2000万条不就需要20天?坚决不能忍受!!

四、怀疑是数据引擎问题,因为都是 InnobDB,换成MyISAM再次以 < 形式导入。导入到一半服务器假死,HTML静态网页可以解析,PHP都解析不了,进入后台提示“ / (Root filesystem)”空间不足,当时安装划分了
/boot 256MB
/tmp  5GB
/home 450GB
/  11GB
/swap  1024MB

11GB 怎么就不够了呢,多方查找才知道是数据库记录文件作怪,表现形式为:
目录 “/usr/local/mysql/data/” 下存在大量的运行记录文件,文件名为
mysql-bin.000001~~~mysql-bin.002081 等几千个,大小从几十 KB到900MB不等。

原来是数据记录文件,进入Mysql 输入命令

mysql> reset master;  (清除日志文件)

进系统一看,原来 / 分区占用97%,现在只用了 51% ,原来这些日志竟然占了5GB左右。惊人!

经查,Mysql Data目录下大量mysql-bin.**** 文件是叫做MySQL Binary Log,
主要有下面两个作用:

  1. 数据恢复。
  2. 在主从服务器上提高复制的可靠性。这个其实是主要的作用,但是我根本没有主从服务器,所以用不着,所以修改配置文件,关闭系统日志和同步记录。

命令如下:

找到my.cnf或者my.ini
#log-bin=mysql-bin
#binlog_format=mixed

重启MySQL,彻底解决!

2 thoughts on “Ubuntu 根目录(/)空间不足处理”

  1. 你居然弄到了MYSQL版的数据啊,我在自己的服务器上导入了那个解压后8G的MSSQL文件,然后就悲剧了,由于不知道是哪个版本的备份文件,从MSSQL2005开始升级。2008,2008R2,一直升级到MSSQL2012才把数据导入进去,这个数据应该是被处理过的,里边只有一个表,想要的信息都没有

Leave a Reply

Your email address will not be published. Required fields are marked *