国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql清除relay-log文件方法詳解

2024-07-24 12:37:27
字體:
來源:轉載
供稿:網友

今天在本機的mysql數據目錄下發現了許多類似hostname-relay-bin.0000*的文件,該文件一般是在mysql slave實例上存在,主要用途是記錄主從同步的信息,正常情況下會自動刪除的.

本機未配置過master、slave,對于其來源還真不太清楚,既然是用在slave上的,那就可以放心的刪除。刪除master實例上的日志文件用reset master,對于slave實例就使用命令:reset slave

Relay Log無法自動刪除的問題,綜合分析后發現和以下原因有關.

•該實例原先是一個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 已經不再需要則自動刪除.

•Delete:expire-logs-days 只在 實例啟動時 和 flush logs 時判斷,如果文件訪問時間早于設定值,則purge file,同Binlog file,updated:expire-logs-days和relaylog的purge沒有關系.

PS:因此還是建議配置 expire-logs-days,否則當我們的外部腳本因意外而停止時,還能有一層保障.

因此建議當slave不再使用時,通過reset slave來取消relaylog.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 房产| 石嘴山市| 洛扎县| 郧西县| 崇左市| 博罗县| 麻江县| 邯郸市| 正宁县| 老河口市| 清徐县| 安阳县| 临沧市| 陕西省| 浮山县| 江都市| 饶河县| 五家渠市| 长岭县| 兴安盟| 应城市| 牡丹江市| 高青县| 秦安县| 太仆寺旗| 青州市| 百色市| 伊通| 抚顺县| 邵阳县| 五家渠市| 葫芦岛市| 苏尼特左旗| 呼图壁县| 内黄县| 梅河口市| 岗巴县| 金坛市| 汉川市| 广水市| 鄯善县|