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,彻底解决!

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Captcha Code