这些文件是什么,我可以手动删除它们吗?

apa*_*che 16 mysql log-files

[root@jiaoyou mysql]# pwd
/var/lib/mysql
[root@jiaoyou mysql]# ls -ls
338256 -rw-rw---- 1 mysql mysql 346030080 2010-04-22 08:08 ibdata1
626812 -rw-rw---- 1 mysql mysql 641222072 2010-01-26 07:17 mysql-bin.000008
316892 -rw-rw---- 1 mysql mysql 324173772 2010-03-25 12:51 mysql-bin.000009
52724 -rw-rw---- 1 mysql mysql  53931666 2010-04-12 12:13 mysql-bin.000010
10136 -rw-rw---- 1 mysql mysql  10359639 2010-04-22 08:32 mysql-bin.000011

mysql> SHOW BINARY LOGS; 
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000008 | 641222072 | 
| mysql-bin.000009 | 324173772 | 
| mysql-bin.000010 |  53931666 | 
| mysql-bin.000011 |  10360680 | 
+------------------+-----------+
Run Code Online (Sandbox Code Playgroud)

这些文件ibdata1mysql-bin.000008mysql-bin.000009...占用了太多我空间的,这将是确定对我来说,手动删除其中的一些?

更新 我没有使用 MySQL 的主/从,如何删除和禁用所有二进制文件?

Tom*_*nor 11

这些是 mysql bin 日志。如果您使用 rm 删除它们,服务器可能会受到严重刺激。

相反,使用PURGE BINARY LOGS TO 'mysql-bin.010';作为 root mysql 用户让它安全地删除文件。

可以在此处的文档中找到更多信息。


小智 6

这些是 mysql 服务的日志文件。可以通过更新 /etc/my.cnf 文件来自定义设置

如果它们占用了您的磁盘空间,请根据您要保留的天数添加设置以自动清除日志

例如下面的设置将删除所有超过 90 天的日志

**expire_logs_days=100**
Run Code Online (Sandbox Code Playgroud)

要反映此设置,我们需要重新启动 mysql 服务

/etc/init.d/mysql restart
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助


War*_*ner 5

这些mysql-bin文件是二进制日志,通常用于事务历史记录或复制目的。要禁用二进制日志记录,您可以注释log-bin*cnf.conf 文件中的行。 log-slave-updates如果启用的话也应该评论。

ibdata*文件是 InnoDB 表空间的一部分,由设置指定innodb_data_file_path。我不建议删除,除非你没有 InnoDB 表并首先通过skip-innodb在 cnf 中使用禁用 InnoDB。