91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在mysql5.7中使用binlog 恢復數據

發布時間:2021-06-03 15:49:53 來源:億速云 閱讀:276 作者:Leah 欄目:開發技術

這篇文章給大家介紹如何在mysql5.7中使用binlog 恢復數據,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

第一步:保證mysql已經開啟binlog

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

如何在mysql5.7中使用binlog 恢復數據

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

如何在mysql5.7中使用binlog 恢復數據

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

如何在mysql5.7中使用binlog 恢復數據

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

例子1:查詢2021-3-12 14:00:00到2021-3-12 14:03:00 數據庫為 g_xinxiangshop的操作日志,輸入如下命令將數據寫入到一個備用的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 數據庫為 g_xinxiangshop的操作日志,并且過濾出 只包括 g_user表數據的操作記錄 ,輸入如下命令將數據寫入到一個備用的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 數據庫為 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

如何在mysql5.7中使用binlog 恢復數據

圖片和例1、例2內容一樣 看到了truncate操作 和記錄點 就可以做恢復操作了!

第四步:測試利用bin_log恢復數據

登錄mysql
測試

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

如何在mysql5.7中使用binlog 恢復數據

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

如何在mysql5.7中使用binlog 恢復數據

如何在mysql5.7中使用binlog 恢復數據

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

如何在mysql5.7中使用binlog 恢復數據

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

如何在mysql5.7中使用binlog 恢復數據

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

執行完畢之后 去看看刪除那條數據吧 又回來了

如何在mysql5.7中使用binlog 恢復數據

binlog命令

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

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

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

  • --start-positon="50" //指定從50位置開始

  • --stop-postion="100"//指定到100位置結束

/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版本所導致

查看當前os使用的mysqlbinlog

shell> which mysqlbinlog
/usr/bin/mysqlbinlog

查看mysql當前使用的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

關于如何在mysql5.7中使用binlog 恢復數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣城市| 闽清县| 温宿县| 班戈县| 中江县| 什邡市| 武冈市| 荣成市| 辽源市| 城市| 兴隆县| 辛集市| 阿尔山市| 同仁县| 晋江市| 隆林| 青岛市| 方山县| 东阿县| 阿勒泰市| 苍南县| 大姚县| 探索| 呼玛县| 黄冈市| 工布江达县| 阜阳市| 肇庆市| 正安县| 梓潼县| 陇西县| 民乐县| 临高县| 甘南县| 屯门区| 漯河市| 桦南县| 民丰县| 柞水县| 乐安县| 景宁|