关于Relay Log无法自己主动删除的问题(Neither --relay-log nor --relay-log-index were used)
今天查看mysql err日志。发现mysql重新启动时总会有例如以下日志出现:
[Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server
acts as a slave and has his hostname changed!! Please use '--relay-log=liytest-relay-bin' to avoid this problem.
这个警告提示本身的意思,作为slave,为防止由于主机名变更导致relay log文件名称无效的问题,最好设置'--relay-log=liytest-relay-bin'
但问题时,我这机器根本就没有开启slave模式,并且数据文件夹下一直有liytest-relay-bin.000001,relay的出现并且堆积。上网搜索总结一下原因
该实例原先是一个Slave -------导致relay-log 和 relay-log.index的存在
该实例眼下已经不是Slave -------由于没有了IO-Thread,导致relay-log-purge 没有起作用( 这也是其它Slave实例没有这样的情况的原因。由于IO-thread会做自己主动rotate操作)。
该实例每天会进行日常备份 -------Flush logs的存在,导致每天会生成一个relay-log
该实例没有配置expire-logs-days ------导致flush logs时,也不会做relay-log清除
简而言之就是: 一个实例假设之前是Slave,而之后停用了(stop slave),且没有配置expire-logs-days的情况下,会出现relay-log堆积的情况。
顺带也和大家分享下MySQL 内部Logrotate的机制
Binary Log rotate机制:
Rotate:每一条binary log写入完毕后,都会推断当前文件是否超过 max_binlog_size,假设超过则自己主动生成一个binlog file
Delete:expire-logs-days 仅仅在 实例启动时 和 flush logs 时推断,假设文件訪问时间早于设定值,则purge file
Relay Log rotate 机制:
Rotate:每从Master fetch一个events后,推断当前文件是否超过 max_relay_log_size 假设超过则自己主动生成一个新的relay-log-file
Delete:purge-relay-log 在SQL Thread每运行完一个events时推断,假设该relay-log 已经不再须要则自己主动删除
因此建议当slave不再使用时,一定要通过reset slave来取消relaylog,不然即使重新启动mysql,问题还是一样存在。
关于Relay Log无法自己主动删除的问题(Neither --relay-log nor --relay-log-index were used)的更多相关文章
- 用ahk脚本自己主动删除flashcookies
手动方法(请戳点击打开链接): 点击桌面左下脚的"開始"键 打开"控制面板" 并点击 "flash player" 项 进入 并点击&quo ...
- 通过Transaction Log(fn_dblog)取回被删除的数据
最近跟 James 讨论为何「ApexSQL Log」这个工具可以读到被删除的数据呢? 原来它是透过 Transaction Log 来读取数据的! 于是透过 Transaction Log 到网络上 ...
- 删除指定路径下固定格式,以.log结尾、三天前的文件,或删除空的日志文件
师出‘百测’besttest 删除指定路径下固定格式,以.log结尾.三天前的文件,或删除空的日志文件. 日志文件格式:XXXX_2019-01-01.log. import os,datetime ...
- EasyUI datagrid 删除的时候无法正确找到重复记录row index的问题
EasyUI datagrid 删除的时候无法正确找到重复记录row index的问题: 如果无法正确找到重复记录的row index,就需要进行注意添加的时候所进行的 操作:如果添加的时候就是添加的 ...
- MySQL--binlog和relay log的生成和删除
##================================================================================================== ...
- 12.2备库rman使用delete删除归档日志报错RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
问题: 客户环境12.2 dg备库环境,定时清理归档脚本并未正常清理归档日志文件. 观察日志可以发现存在如下信息 RMAN-08137: WARNING: archived log not delet ...
- 清理linux 某个文件夹下面所有的log文件
#!/bin/sh #目标文件夹下面所有问题 target_dir="/app/" #删除2天前新建的后缀为log的文件 -name "*.log" -exec ...
- Linux命令行批量删除文件(目录)
快速-批量删除文件或目录 1-1.快速删除大文件夹(注意目录后的结束符'/')(对于含有海量文件的目录,不能直接rm -rf删除,这样效率很慢:) rsync -a --delete blank/ t ...
- http 会话(session)详解
会话(session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制 一.查看session id 可利用相关工具,比如firebug,httpwatc ...
随机推荐
- iOS:获取图片Alpha图片
-(void)createImages { // Load the alpha image, which is just the same Ship.png image used in the cli ...
- go运算符
package main import ( "fmt" ) func main() { fmt.Println(^) } -3 package main import ( &quo ...
- 使用svnkit 的相关实例及相关问题汇总
SVNKIT操作SVN版本库的完整例子 http://www.cnblogs.com/wangjiyuan/p/svnkitwanchenglizi.html#!comments 2.SVNClien ...
- 更改windows系统语言,改为英文
- 网络知识汇总(2) - Linux下如何修改ip地址
在Linux的系统下如何才能修改IP信息 以前总是用ifconfig修改,重启后总是得重做.如果修改配置文件,就不用那么麻烦了- A.修改ip地址 即时生效: # ifconfig e ...
- Successful Lisp - Cover
Successful Lisp - Cover Successful Lisp: How to Understand and Use Common Lisp
- 部署到Linux使用VS Code 开发.NET Core 应用程序
使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NE ...
- [Android学习笔记]ListView中含有Button导致无法响应onItemClick回调的解决办法
转自:http://www.cnblogs.com/eyu8874521/archive/2012/10/17/2727882.html 问题描述: 当ListView的Item中的控件只是一些展示类 ...
- hdu 1240 Asteroids!(BFS)
题目链接:点击链接 简单BFS,和二维的做法相同(需注意坐标) 题目大意:三维的空间里,给出起点和终点,“O”表示能走,“X”表示不能走,计算最少的步数 #include <iostream&g ...
- SecureCRT 连接虚拟机Linux
SecureCRT 连接虚拟机Linux 最近在学习linux,在学习中遇到了一些问题,现总结一下. 虚拟机我用的是VirtualBox,完美支持中文,可以在电脑中创建虚拟机环境,上手非常简单.具 ...