关于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 ...
随机推荐
- windows消息处理(强烈推荐,收藏)
由于看了一下,比较好理解,暂时先放到这里,待有空再翻译.只是在每节后大致介绍一下讲的内容. 感觉写的比较全,无论从消息的原理还是从MFC操作上来说,值得一看,我也在此做个收藏. (一) 说明:以下首先 ...
- jeecg智能开发平台参与-2013年度中国优秀开源项目评比
JEECG正在参与<2013年度中国十大优秀开源项目> 评比,如果大家觉得JEECG还不错, 请投出你宝贵的一票,给我们以支持吧!!! [目前排名第8位] https://code.csd ...
- Jenkins: 使用Jenkins搭建持续集成(CI)环境
http://www.cnitblog.com/luckydmz/archive/2012/01/03/77007.html 首先从官网http://jenkins-ci.org/下载 Java We ...
- Swift - 操作SQLite数据库(引用SQLite3库)
SQLite轻量级数据库在移动应用中使用非常普遍,但是目前的库是C编写的,为了方便使用,对SQLite相关的操作用Swift进行了封装.这个封装代码使用了一个开源项目SQLiteDB,地址是:http ...
- jQuery 自学笔记—8 常见操作
jQuery 拥有可操作 HTML 元素和属性的强大方法. jQuery DOM 操作 jQuery 中非常重要的部分,就是操作 DOM 的能力. jQuery 提供一系列与 DOM 相关的方法,这使 ...
- drupal THEME主要文件
**.info 文件** .info 文件是一个必需的文件:Drupal 必须包括它,才干看到主题. .info 文件告诉 Drupal 主题的内部名称.比如,假设这个文件的名称是 ibmtheme. ...
- linux串口编程总结
串口本身.标准和硬件 † 串口是计算机上的串行通讯的物理接口.计算机历史上,串口以前被广泛用于连接计算机和终端设备和各种外部设备.尽管以太网接口和USB接口也是以一个串行流进行数据传送的.可是串口连接 ...
- CentOS IP丢失,切换了网络连接导致的vmnet8未启用dhcp
解决了, 这个问题是我在开启虚拟机ubuntu系统的过程中, 在主机win7上切换了网络连接导致的, 就是刚开始我用的无线宽带上网, 此时开启了ubuntu ,然后使用过程中,我在win7上切换回静态 ...
- IM应用中的优化
以前做过IM应用中考虑过的一些关于应用优化的问题. 优化重心主要放在了电量优化和流量优化上: 电量优化 如何測试耗电量(前台耗电.后台耗电) 1.专用设备 2.性能相关的app 3.自己动手去写电量消 ...
- 专注UI——有用技术:模糊搜索
在如今的项目中.须要做模糊搜索,在曾经技术的基础上非常快得完毕了第一版.大家先看看第一版的效果,我们一会做评论: 0基础: 我们可能部分源代码(附件中会有所有源代码) <span style=& ...