安哥网络 发表于 2017-11-15 18:21:51

mysql 导致磁盘瀑满解决办法

mysql 导致磁盘瀑满解决办法


[*]数据大小查看:
//先进去MySQL自带管理库:information_schema   
//自己的数据库:dbwww58com_kuchecarlib   
//自己的表:t_carmodelparamvalue

mysql> use information_schema;
Database changed
mysql> select data_length,index_length
    -> from tables where
    -> table_schema='dbwww58com_kuchecarlib'
    -> and table_name = 't_carmodelparamvalue';
+-------------+--------------+
| data_length | index_length |
+-------------+--------------+
|   166379520 |    235782144 |
+-------------+--------------+
row in set (0.02 sec)

mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB,
    -> concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB
    -> from tables where
    -> table_schema='dbwww58com_kuchecarlib'
    -> and table_name = 't_carmodelparamvalue';
+----------------+-----------------+
| data_length_MB | index_length_MB |
+----------------+-----------------+
| 158.67MB       | 224.86MB      |
+----------------+-----------------+
row in set (0.03 sec)

[*]将数据大小导出
[*]发现不是数据大小的原因,再检查用很多bin-log


mysql日志文件mysql-bin文件清除方法
默认情况下mysql会一直保留mysql-bin文件,这样到一定时候,磁盘可能会被撑满,这时候是否可以删除这些文件呢,是否可以安全删除,是个问题,不建议使用rm命令删除,这样有可能会不安全,正确的方法是通过mysql的命令去删除。 mysql> reset master;
mysql> reset slave;


其实关键的命令就是reset master;这个命令会清空mysql-bin文件。 另外如果你的mysql服务器不需要做主从复制的话,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf中的下面一行就可以了。 log-bin=mysql-bin如果你需要复制,最好控制一下这些日志文件保留的天数,可以通过下面的配置设定日志文件保留的天数: expire_logs_days = 3表示保留3天的日志,这样老日志会自动被清理掉
mysql 导致磁盘瀑满解决办法

参考:
https://www.cnblogs.com/qq78292959/archive/2012/12/26/2833698.html
https://www.cnblogs.com/qiaoyihang/p/6398673.html
http://blog.csdn.net/zhengfeng2100/article/details/52858946
页: [1]
查看完整版本: mysql 导致磁盘瀑满解决办法