寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

删除MySQL数据库中二进制日志的3种方法

    因设置原因,Mysql数据库用久了就在data目录下生成一些文件,感觉很碍眼,网上查了一下,是些二进制查询日志,可以删除的。但最好别直接删除,怕删掉有用的东西。现在介绍3中安全删除MySQL数据库中二进制日志的方法。
1.sql命令:RESET MASTER
可以删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件
2.sql命令:PURGE MASTER LOGS
语法
PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。
例如:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';
BEFORE变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式。MASTER和BINARY是同义词。
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。
要清理日志,需按照以下步骤:
1.
在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
2.
使用SHOW MASTER LOGS获得主服务器上的一系列日志。
3.
在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
4.
制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)
5.
清理所有的日志,但是不包括目标日志。
3. expire_logs_days参数二进制日志自动删除的天数。默认值为0,表示“没有自动删除”。启动时和二进制日志循环时可能删除expire_logs_days numeric GLOBAL
在my.cnf配置文件【mysqld】段中加入,重启MySQL服务,例:
expire_logs_days=3
删除3天以前的日志
注:当然需要考虑有slave情况下的影响
 

数据 2009-07-29 01:39:55 7 0 7663 mysql
文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
请不要奇怪,为什么最近博客的文章是几年前的内容
Excel动态引用各表格指定单元格数据
开篇第一章
ubuntu24.04无法安装向日葵,提示依赖libgconf-2-4怎么办?
如何利用python修改文件的创建时间,修改时间,访问时间
发现一个好网站——春燕文档
Ubuntu22.04中用thunar替换默认文件管理器,提示无法启动“TerminalEmulator“的首选应用程序
MySQL如何按每个分类查询10条数据,即MySQL如何每个分类查询10条数据
ubuntu24.04安装网易云音乐
python读取旧的Excel文件的数据到新的Excel表中
文章推荐
免责声明
关于博主
开篇第一章
随机推荐
伤心的虚拟主机
如何用正则表达式匹配指定字符开始和指定字符结束
探析知识型员工管理模式
我也玩玩php多线程
phpword中文字符乱码终极解决方案
腾讯云服务器快照恢复删除的数据
Excel如何批量替换字符串?讲解Excel的字符替换函数SUBSTITUTE
为emlog增加一个日志列表插件
Google will say no to China because of hackers attack gmail?
从游戏到团结合作
友情连接
春燕网络
谢润的博客