1. 程式人生 > >mysql複製環境清理二進位制日誌

mysql複製環境清理二進位制日誌

1.檢視slave上正在讀取的日誌
mysql> show slave status \G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.100
                  Master_User: replication
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000007
          Read_Master_Log_Pos: 19406147
               Relay_Log_File: slave-relay-bin.000004
                Relay_Log_Pos: 19406311
        Relay_Master_Log_File: master-bin.000007
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 19406147
              Relay_Log_Space: 34404863
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
                  Master_UUID: caa6d2e9-a550-11e5-8385-0800276ce4c8
             Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 
            Executed_Gtid_Set: 
                Auto_Position: 0
1 row in set (0.00 sec)
ERROR: 
No query specified

2.檢視主伺服器的日誌列表
mysql> show master logs ;
+-------------------+-----------+
| Log_name          | File_size |
+-------------------+-----------+
| master-bin.000001 |      1108 |
| master-bin.000002 |       168 |
| master-bin.000003 |       168 |
| master-bin.000004 |       257 |
| master-bin.000005 | 201612588 |
| master-bin.000006 |  14998335 |
| master-bin.000007 |  19436640 |
+-------------------+-----------+
7 rows in set (0.00 sec)
master正在使用的日誌:
mysql> show master status \G;
*************************** 1. row ***************************
             File: master-bin.000007
         Position: 19425086
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: 
1 row in set (0.00 sec)

[
[email protected]
mysql]# ls
auto.cnf           master-bin.000005  performance_schema
ibdata1            master-bin.000006  RPM_UPGRADE_HISTORY
ib_logfile0        master-bin.000007  RPM_UPGRADE_MARKER-LAST
ib_logfile1        master-bin.index   test
master-bin.000001  mysql              wangwei
master-bin.000002  mysqlmaster.err    zabbix
master-bin.000003  mysqlmaster.pid
master-bin.000004  mysql.sock
[
[email protected]
mysql]# ls
auto.cnf        performance_schema       slave-bin.000006
ibdata1         relay-log.info           slave-bin.index
ib_logfile0     RPM_UPGRADE_HISTORY      slave-relay-bin.000003
ib_logfile1     RPM_UPGRADE_MARKER-LAST  slave-relay-bin.000004
master.info     slave-bin.000001         slave-relay-bin.index
mysql           slave-bin.000002         test
mysqlslave.err  slave-bin.000003         wangwei
mysqlslave.pid  slave-bin.000004         zabbix
mysql.sock      slave-bin.000005

3.確定日誌清理
刪除二進位制日誌的方法:
PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
例如刪除master-bin.000002之前的日誌
PURGE MASTER LOGS TO 'master-bin.000002';
日誌已經被清理
mysql> show master logs ;
+-------------------+-----------+
| Log_name          | File_size |
+-------------------+-----------+
| master-bin.000002 |       168 |
| master-bin.000003 |       168 |
| master-bin.000004 |       257 |
| master-bin.000005 | 201612588 |
| master-bin.000006 |  14998335 |
| master-bin.000007 |  19619864 |
+-------------------+-----------+
6 rows in set (0.00 sec)
作業系統下日誌也被刪除
[
[email protected]
mysql]# ls
auto.cnf           master-bin.000004  mysqlmaster.err          test
ibdata1            master-bin.000005  mysqlmaster.pid          wangwei
ib_logfile0        master-bin.000006  mysql.sock               zabbix
ib_logfile1        master-bin.000007  performance_schema
master-bin.000002  master-bin.index   RPM_UPGRADE_HISTORY
master-bin.000003  mysql              RPM_UPGRADE_MARKER-LAST

如果slave也開啟二進位制日誌,按照同樣的方法清理
可以通過設定引數expire_logs_day來清理日誌
set GLOBAL expire_logs_days=5;
但是設定了 不會馬上生效 (日誌輪換可以觸發清理)
需要執行:
1.執行 flush logs;
可以放在配置檔案中
reset master; 清空所有日誌日誌序列重新開始主從複製謹慎使用

相關推薦

mysql複製環境清理二進位制日誌

1.檢視slave上正在讀取的日誌 mysql> show slave status \G; *************************** 1. row ***************************                Slave_IO_

MySQL複製(二)--基於二進位制日誌檔案(binlog)配置複製

  基礎環境:   主庫 從庫 伺服器IP地址 192.168.10.11 192.168.10.12 版本 5.7.24 5.7.24 已存在的資料庫 mysql> show databases; +--------------------+ | Databa

Mysql清理二進位制日誌的技巧

1:二進位制日誌 二進位制日誌記錄了所有的DDL(資料定義語言)語句和DML(資料操作語言)語句,但是不記錄包括資料查詢的語句。語句以“事件”的形式儲存,它描述了資料的更改過程,此日誌對於災難時的資料恢復起著極其重要的作用 2:日誌的位置和格式 當用—log-bin[=fi

mysql5.7主從同步複製(基於二進位制日誌檔案binary log file)

MySQL資料庫自身提供的主從複製功能可以方便的實現資料的多處自動備份,實現資料庫的拓展。多個數據備份不僅可以加強資料的安全性,通過實現讀寫分離還能進一步提升資料庫的負載效能。 下圖就描述了一個多個數據庫間主從複製與讀寫分離的模型: 在一主多從的資料庫體系中,多個從伺

mysql學習總結(二進位制日誌、伺服器變數、事務日誌

1、mysql的二進位制日誌: 記錄導致資料改變或潛在導致資料帶變的SQL語句; 功能:用於“重放“日誌中的事務 Log_name :日誌名 Pos:起始位置 Ev

使用mysql purge手動清除二進位制日誌

對於一個訪問量很大的mysql資料庫,二進位制日誌的增量通常十分迅速,很可能出乎你的意料。猶如跑馬圈地一樣,你的磁碟大部分都會被日誌給佔滿了。 出現問題總是需要解決的,而且總有要解決的方法: 方法一、使用php,perl,python,java等實現 連線資料庫後,根據你的

oracle 11g生產環境清理歸檔日誌腳本

情況 efi bho ram 時間段 sys ini 定時 讀寫權限 最近幾個客戶生產環境都遇到一些故障,原因就是開歸檔,沒有部署刪除歸檔定時任務,以下大家可以參考,經過本人測試,在生產環境上正常運行。 **roidba刪除歸檔日誌腳本** 一、基於RHEL6服務器端的

mysql運維-二進位制日誌BINARY LOG清理

1 幾種方法     1.1 方法1:PURGE MASTER LOGS     語法: PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_

MySQL數據庫全備和增備、增量數據恢復案例以及定時清理 binlog 日誌

代碼 fun transacti 適合 壓縮包 password 意願 root ati 一、mysql 全量備份以及增量備份1、全量備份命令: /application/mysql/bin/mysqldump -uroot -p123456 --lock-all-tab

詳解如何通過Mysql二進位制日誌恢復資料庫資料

經常有網站管理員因為各種原因和操作,導致網站資料誤刪,而且又沒有做網站備份,結果不知所措,甚至給網站運營和盈利帶來負面影響。所以本文我們將和大家一起分享學習下如何通過Mysql的二機制日誌(binlog)來恢復資料。 系統環境: 作業系統:CentOS 6.5 X64  (虛擬機器

linux centos下mysql資料庫的主從複製環境搭建

有兩臺MySQL資料庫伺服器Master和slave,Master為主伺服器,slave為從伺服器,初始狀態時,Master和slave中的資料資訊相同,當Master中的資料發生變化時,slave也跟著發生相應的變化,使得master和slave的資料資訊同步,達到備份的目的。 原理圖如下:

使用mysqlbinlog從二進位制日誌檔案中查詢mysql執行過的sql語句

前提MySQL開啟了binlog日誌操作1. 檢視MySQL是否開啟binlog(進mysql操作)  mysql> show variables like 'log_bin%';       2. 查詢binlog檔名 &nbs

mysql 二進位制日誌增量備份sell指令碼

#function:MySQL增量備份指令碼 #version:1.0.0 #author:leiyuanxin #date:2018/10/26 #----------------------------------- #!/bin/sh exprot LANG=en_US.UTF-8 #設定時間

MySQL二進位制日誌的三種模式解析

原文出自 http://www.abcdocker.com/abcdocker/213 Row Level 行模式 日誌會記錄每一行資料被修改的形式,然後在slave端再對相同的資料進行修改 優點:在 row level模式下,bin-log中可以不記錄執行sql語句的上下文相關的資

mysql使用二進位制日誌恢復資料

一、恢復到某個二進位制檔案 1.開啟二進位制日誌 在mysqld的配置節點下新增如下配置 log-bin="E:/Mysql57BinLog/binlog"(windows下的路徑,linux下自行修改路徑)  expire_logs_days=10 max_b

mysql 開發進階篇系列 40 mysql日誌二進位制日誌下以及查詢日誌

一.binlog 二進位制其它選項   在二進位制日誌記錄了資料的變化過程,對於資料的完整性和安全性起著非常重要作用。在mysql中還提供了一些其它引數選項,來進行更小粒度的管理。   1.1 binlog-do-db=db_name     該選項告訴主伺服器,當前db_name庫會更新記錄到二進位制日誌中

GTID中MySQL啟動時間慢?二進位制日誌檔案大小可能是問題

您是否在GTID模式下遇到MySQL啟動時間較慢的問題?我們最近在我們的一個MySQL託管部署中遇到了這個問題,並著手解決這個問題。在本文中,我們分解了可能會減慢MySQL重啟時間,如何除錯部署以及如何減少啟動時間和提高對基於GTID的複製的理解的問題。 我們如何找到問題 我們正在研究在啟用GTID模

如何通過 MySQL二進位制日誌恢復資料庫資料

經常有網站管理員因為各種原因和操作,導致網站資料誤刪,而且又沒有做網站備份,結果不知所措,甚至給網站運營和盈利帶來負面影響。所以本文我們將和大家一起分享學習下如何通過 MySQL 的二機制日誌(binlog)來恢復資料。 系統環境 作業系統:CentOS 6.5 X64 (虛擬機器); Web 服務:PHP

Navicat使用教程(二):使用MySQL日誌(第2部分)——二進位制日誌

下載Navicat for MySQL最新版本 Navicat for MySQL 是一套管理和開發 MySQL 或 MariaDB 的理想解決方案。使用Navicat for MySQL可以同時連線到 MySQL 和 MariaDB。Navicat for MySQL提供了強大的前端

mysql二進位制日誌詳解

一、什麼是二進位制日誌 二進位制日誌主要記錄mysql資料庫的變化,二進位制日誌包含所有更新了資料或者潛在更新了資料(如沒有匹配到任何行的delete語句),語句以時間的形式儲存,描述了資料的更改。二進位制日誌還包含執行每個更新資料庫語句的時間資訊,使用二進位制日誌的主要目的是最大可能的恢復資料庫。因為二進