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

[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 | +------------------+-----------+ 

这些文件ibdata1mysql-bin.000008mysql-bin.000009 …占用了太多的空间,我可以手动删除它们吗?

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

那些是mysql bin日志。 如果使用rm删除它们,服务器可能会变得非常恼火。

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

更多信息可以在文档中find。

mysql-bin文件是二进制日志,通常既用于事务历史logging,也用于复制目的。 要禁用二进制日志logging,可以在cnf中注释log-bin*行。 如果启用,还应注意log-slave-updates

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

要完全禁用日志logging,您需要在configuration文件(通常是/etc/my.cnf)中注释log-bin值:

 #log-bin = /var/log/mysql/mysql-bin.log 

我认为ibdata1文件可能包含实际的数据库 – 我不使用innodb,所以我不确定 – 所以我不build议删除那个。 “PURGE BINARY LOGS TO …”命令将摆脱二进制日志。