首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何摆脱mysql绑定日志?

问如何摆脱mysql绑定日志?
EN

Server Fault用户
提问于 2011-03-14 19:00:18
回答 1查看 5.1K关注 0票数 5

我一直在使用mysql进行开发。我不使用复制,但我想我已经在我以前的一台计算机上启用了一段时间的二进制日志记录,并且我不知不觉地积累了数百个二进制日志文件。

我现在正在使用Linux,实际上我需要开始使用二进制日志。当我试图在my.cnf - mysql服务器中启用二进制日志时,我在错误日志中发现了这一点:

代码语言:javascript
复制
  1 110314 14:39:40 [Note] Plugin 'FEDERATED' is disabled.                                                                                                                                                                                                                        
  2 110314 14:39:40  InnoDB: Started; log sequence number 0 36669358
  3 ^G/usr/sbin/mysqld: File '.\mysql-bin.000179' not found (Errcode: 2)
  4 110314 14:39:40 [ERROR] Failed to open log (file '.\mysql-bin.000179', errno 2)
  5 110314 14:39:40 [ERROR] Could not open log file
  6 110314 14:39:40 [ERROR] Can't init tc log
  7 110314 14:39:40 [ERROR] Aborting
  8 
  9 110314 14:39:40  InnoDB: Starting shutdown.

所以-我想-我只需要删除旧的二进制日志-对吗?我能删除所有mysql-bin吗?档案?我还需要清除mysql-bin.index文件吗?

谢谢!

EN

回答 1

Server Fault用户

回答已采纳

发布于 2011-03-14 19:16:31

编辑:哇,我完全误解了这个问题。是的,确保bin_log被注释掉了。重新启动。删除任何bin日志和bin日志索引。然后将bin_log添加回my.cnf并重新启动。我会留下我原来的答案,因为它包含一些像样的东西,特别是在#1下面。

你这里有几个选择。但是,通过文件系统删除bin日志绝不是一个好主意,除非数据库已经配置为不再生成这些日志。

  1. 保存回收站日志,但偶尔会过期。将expire_logs_days =3添加到my.cnf中,如果所有Mysql服务器生成bin日志,它们都应该具有此配置。我用10天在我的服务器上。您可能需要在开发服务器上添加max_binlog_size =100 m或其他小于默认1G的大小。Mysql只在达到最大天数和最大大小之后才删除bin_logs。
  2. 彻底移除垃圾箱日志。在您的log_bin中注释掉my.cnf。重新启动Mysql,因为log_bin不是动态的。现在您可以通过文件系统进入并删除bin日志。
  3. 将bin_logs清除到一定程度。从mysql命令行执行以下操作。你可以把这一天变成对你有用的东西。mysql>在DATE_SUB之前清除二进制日志( NOW( ),间隔7天);

在大多数情况下,我推荐#1,因为有时有几天的回收站日志是有用的。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/247304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档