/var/log/mysql/mysql-bin.log
它会重新创造吗?
答案1
如果您只是移动/删除它,您可能会陷入一个不断被写入的打开文件句柄,但您将不再看到该文件。
这是一个二进制日志,用于复制,您也可以将它们用于增量备份之类的操作,因为它保留了所有事务的历史记录。
如果你不想让文件存在,你必须注释掉我的cnf行说
log-bin=/var/log/mysql/mysql-bin.log
然后重启(或重新加载)MySQL。只要它没有主动使用它,你就可以安全地删除它。
答案2
mysql-bin.log或无论它叫什么,它都包含复制或恢复所需的数据。如果您不使用复制,并且您的数据库完好无损,您(可能)不需要它,如果您删除它并重新启动 mysql,它将从此时开始再次填满(当然,不会神奇地恢复已删除的日志)。
来自文档,
二进制日志包含所有更新数据或可能更新数据的语句[...]二进制日志有两个重要用途:
对于复制,二进制日志在主复制服务器上用作要发送到从属服务器的语句的记录。[...]
某些数据恢复操作需要使用二进制日志。[...]
[...]
如果您正在使用复制,则不应删除主服务器上的旧二进制日志文件,直到您确定没有从属服务器仍然需要使用它们。
在继续之前请先自行阅读文档。
答案3
它会消失,并且 MySQL 可能会报告错误。重新启动 MySQL 时它会再次出现。
如果您不使用 mySQL 复制,则可以安全地关闭二进制日志:具有权限的客户端SUPER
可以使用语句禁用其自身语句的二进制日志记录SET sql_log_bin=0
。