亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql5.7使用binlog 恢復(fù)數(shù)據(jù)的方法

 更新時間:2021年06月03日 09:46:40   作者:ಇfinal  
MySQL的binlog日志是MySQL日志中非常重要的一種日志,記錄了數(shù)據(jù)庫所有的DML操作,那么怎樣通過binlog 恢復(fù)數(shù)據(jù),本文就詳細的來介紹一下

第一步:保證mysql已經(jīng)開啟binlog

show variables like '%log_bin%';
log_bin 為 on是開啟。

在這里插入圖片描述

第二步:進入binlog文件目錄,找到二進制日志文件

在這里插入圖片描述

mysql> show binary logs; #獲取binlog文件列表
mysql> show master status; #查看當(dāng)前正在寫入的binlog文件
mysql> reset master; 重置binlog

在這里插入圖片描述

第三步: 通過mysqlbinlog工具命令查看數(shù)據(jù)庫增刪改查記錄(必須切換到mysqlbinlog目錄才有效)或者直接指定binlog

例子1:查詢2021-3-12 14:00:00到2021-3-12 14:03:00 數(shù)據(jù)庫為 g_xinxiangshop的操作日志,輸入如下命令將數(shù)據(jù)寫入到一個備用的txt文件中

/usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_xinxiangshop --start-datetime=“2021-3-12 14:00:00” --stop-datetime=“2021-3-12 14:03:00” /usr/local/mysql/data/mysql-bin.000001 > /tmp/binlog.txt

例子2:查詢2021-3-12 14:00:00到2021-3-12 14:03:00 數(shù)據(jù)庫為 g_xinxiangshop的操作日志,并且過濾出 只包括 g_user表數(shù)據(jù)的操作記錄 ,輸入如下命令將數(shù)據(jù)寫入到一個備用的txt文件中

/usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_xinxiangshop --start-datetime=“2021-3-12 14:00:00” --stop-datetime=“2021-3-12 14:03:00” /usr/local/mysql/data/mysql-bin.000001 | grep g_user > /tmp/binlog.txt

例子3:查詢2021-3-15 15:25:00到2021-3-15 15:35:00 數(shù)據(jù)庫為 g_shoptest 的操作日志,并輸出到屏幕上
/usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_shoptest --start-datetime=“2021-3-15 15:25:00” --stop-datetime=“2021-3-15 15:35:00” /data/mysql/mysql-bin.000001 |more

在這里插入圖片描述

圖片和例1、例2內(nèi)容一樣 看到了truncate操作 和記錄點 就可以做恢復(fù)操作了!

第四步:測試利用bin_log恢復(fù)數(shù)據(jù)

登錄mysql
測試

1、 reset master; 重置binlog并重新生成記錄日志

在這里插入圖片描述

2、 測試某個表 插入一條數(shù)據(jù) 然后不小心刪除了。

在這里插入圖片描述

在這里插入圖片描述

3、 查看bin-log 命令:show binlog events in ‘mysql-bin.000001';

在這里插入圖片描述

如上圖
我們看到刪除點在928到 1294 ;之前的新增的數(shù)據(jù) 在154到520

在這里插入圖片描述

/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000001 --start-position 154 --stop-position 520 | mysql -uroot -p g_shoptest

執(zhí)行完畢之后 去看看刪除那條數(shù)據(jù)吧 又回來了

在這里插入圖片描述

binlog命令

1.最長用的就是回復(fù)指定數(shù)據(jù)端的數(shù)據(jù)了,可以直接恢復(fù)到數(shù)據(jù)庫中:

mysqlbinlog --start-date="2021-3-12 14:00:00" --stop-date="2021-3-12 14:03:00" mysql_bin.000001 |mysql -uroot -p123456 

2.指定開始\結(jié)束位置,從上面的查看產(chǎn)生的binary log我們可以知道某個log的開始到結(jié)束的位置,我們可以在恢復(fù)的過程中指定回復(fù)從A位置到B位置的log.需要用下面兩個參數(shù)來指定:

  • --start-positon="50" //指定從50位置開始
  • --stop-postion="100"http://指定到100位置結(jié)束

/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000001 --start-position 7903538 --stop-position 7904498|mysql -uroot -p123456

**常見錯誤 ERROR: Error in Log_event::read_log_event(): ‘Found invalid event in binary log', data_len: 31, event_type: 35

*問題為mysqlbinlog版本所導(dǎo)致

查看當(dāng)前os使用的mysqlbinlog

shell> which mysqlbinlog
/usr/bin/mysqlbinlog

查看mysql當(dāng)前使用的mysqlbinlog

±--------------±------------------+
| Variable_name | Value |
±--------------±------------------+
| basedir | /usr/local/mysql/ |
±--------------±------------------+

mysql> show variables like ‘basedir';

對比兩個版本

shell> /usr/bin/mysqlbinlog --version
shell> /usr/local/mysql/bin/mysqlbinlog --version

解決此問題指定mysqlbinlog路徑即可

/usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_xinxiangshop --start-datetime=“2021-3-12 14:00:00” --stop-datetime=“2021-3-12 14:03:00” /usr/local/mysql/data/mysql-bin.000001 > /tmp/binlog.txt

到此這篇關(guān)于mysql5.7使用binlog 恢復(fù)數(shù)據(jù)的方法的文章就介紹到這了,更多相關(guān)mysql binlog 恢復(fù)數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL的安裝以及基本的管理命令和設(shè)置

    MySQL的安裝以及基本的管理命令和設(shè)置

    這篇文章主要介紹了MySQL的安裝以及基本的管理命令和設(shè)置,是搭建MySQL環(huán)境的基礎(chǔ),需要的朋友可以參考下
    2015-11-11
  • SQLyog的下載、安裝、破解、配置教程(MySQL可視化工具安裝)

    SQLyog的下載、安裝、破解、配置教程(MySQL可視化工具安裝)

    SQLyog是一款MySQL可視化工具,他可以將部分SQL操作通過圖形化界面操作來完成,方便開發(fā)者更好的進行開發(fā)及數(shù)據(jù)庫設(shè)計,這篇文章主要介紹了SQLyog的下載、安裝、破解、配置(MySQL可視化工具安裝),需要的朋友可以參考下
    2022-09-09
  • 基于Php mysql存儲過程的詳解

    基于Php mysql存儲過程的詳解

    本篇文章是對Php中的mysql存儲過程進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL進階之路索引失效的11種情況詳析

    MySQL進階之路索引失效的11種情況詳析

    這篇文章主要介紹了MySQL查詢優(yōu)化中的11種常見情況,包括索引的使用和優(yōu)化策略,通過這些策略,開發(fā)者可以顯著提升查詢性能,需要的朋友可以參考下
    2025-03-03
  • CentOS8下MySQL 8.0安裝部署的方法

    CentOS8下MySQL 8.0安裝部署的方法

    這篇文章主要介紹了CentOS 8下 MySQL 8.0 安裝部署的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 用SQL實現(xiàn)統(tǒng)計報表中的"小計"與"合計"的方法詳解

    用SQL實現(xiàn)統(tǒng)計報表中的"小計"與"合計"的方法詳解

    本篇文章是對使用SQL實現(xiàn)統(tǒng)計報表中的"小計"與"合計"的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL 從全庫備份中恢復(fù)指定的表和庫示例

    MySQL 從全庫備份中恢復(fù)指定的表和庫示例

    這篇文章主要介紹了MySQL 從全庫備份中恢復(fù)指定的表和庫示例的相關(guān)資料,這里提供了相應(yīng)的方法,來實現(xiàn)恢復(fù)指定的表和庫數(shù)據(jù),需要的朋友可以參考下
    2016-11-11
  • 簡單了解標(biāo)準(zhǔn)SQL的update語句三種用法

    簡單了解標(biāo)準(zhǔn)SQL的update語句三種用法

    這篇文章主要介紹了簡單了解標(biāo)準(zhǔn)SQL的update語句三種用法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下
    2019-06-06
  • MySQL查詢不區(qū)分大小寫的兩種解決方式

    MySQL查詢不區(qū)分大小寫的兩種解決方式

    偶然機會,發(fā)現(xiàn)一次查詢匹配數(shù)據(jù)的時候沒有區(qū)分大小寫,如,username = ‘WangWu’,username = 'wangwu’的記錄也被查出來,本文介紹解決這種情況的兩種方式,并通過代碼講解的非常詳細,需要的朋友可以參考下
    2025-01-01
  • CentOS7編譯安裝MySQL5.7.24的教程詳解

    CentOS7編譯安裝MySQL5.7.24的教程詳解

    這篇文章主要介紹了CentOS7編譯安裝MySQL5.7.24的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-12-12

最新評論