最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫通過Binlog恢復(fù)數(shù)據(jù)的詳細(xì)步驟

 更新時(shí)間:2022年06月06日 11:29:14   作者:擼碼社區(qū)  
MySQL的binlog日志是MySQL日志中非常重要的一種日志,記錄了數(shù)據(jù)庫所有的DML操作,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫通過Binlog恢復(fù)數(shù)據(jù)的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下

Mysql Binlog 簡介

Mysql Binlog是二進(jìn)制格式的日志文件
Binlog是用來記錄Mysql內(nèi)部對(duì)數(shù)據(jù)庫的改動(dòng)(只記錄對(duì)數(shù)據(jù)的修改操作),主要用于數(shù)據(jù)庫的主從復(fù)制以及增量恢復(fù)

開啟Binlog

查看是否打開了Binlog 【ON表示已經(jīng)打開 OFF表示關(guān)閉 默認(rèn)關(guān)閉狀態(tài)】

show variables like ‘%log_bin%’;

開啟Binlog 【修改完以后重啟服務(wù)】

方法1:
找到mysql配置中的my.ini文件,在[mysqld]下面添加如下參數(shù)
log_bin=mysql-bin
binlog-format=ROW

Mysql binlog日志有三種格式 【binlog-format參數(shù)】

1.Statement:每一條會(huì)修改數(shù)據(jù)的sql都會(huì)記錄在binlog中
2.Row:不記錄sql語句上下文相關(guān)信息,僅保存哪條記錄被修改
3.Mixedlevel:是以上兩種level的混合使用,一般的語句修改使用statment格式保存binlog,如一些函數(shù),statement無法完成主從復(fù)制的操作,則采用row格式保存binlog,MySQL會(huì)根據(jù)執(zhí)行的每一條具體的sql語句來區(qū)分對(duì)待記錄的日志形式,也就是在Statement和Row之間選擇一種.新版本的MySQL中對(duì)row level模式也被做了優(yōu)化,并不是所有的修改都會(huì)以row level來記錄,像遇到表結(jié)構(gòu)變更的時(shí)候就會(huì)以statement模式來記錄。至于update或者delete等修改數(shù)據(jù)的語句,還是會(huì)記錄所有行的變更。

方法2:
SET SQL_LOG_BIN=1 命令開啟
SET SQL_LOG_BIN=0 命令關(guān)閉

開啟以后,重啟服務(wù)會(huì)發(fā)現(xiàn)data目錄下多了日志文件

使用Binlog恢復(fù)數(shù)據(jù)

show master status; 【查看當(dāng)前正在寫入的binlog文件】

測(cè)試表, 測(cè)試update 【全部改為趙六,再改為老王,恢復(fù)為全部為趙六】


update user set name = ‘趙六’;
update user set name = ‘老王’;

show binlog EVENTS in ‘binlog.000178’ ; 【查詢所需要恢復(fù)的事件起止的位置】

如果是恢復(fù)最后一次修改前數(shù)據(jù),則使用記錄的倒數(shù)第二條日志的結(jié)束起止坐標(biāo)

cmd 切換到MySQL存放mysqlbinlog.exe應(yīng)用程序的bin目錄后,執(zhí)行以下命令,指定數(shù)據(jù)恢復(fù)起始位置,轉(zhuǎn)換為SQL文件

這里的起止坐標(biāo)為2536 - 2848
mysqlbinlog --no-defaults “D:\DataBase\MYSQL\mysql-8.0.24-winx64\data\binlog.000178” -d test --skip-gtids --start-position=2536 --stop-position=2848>test.sql

cmd登錄MySQL,切換到對(duì)應(yīng)數(shù)據(jù)庫,執(zhí)行命令指定SQL文件位置恢復(fù)數(shù)據(jù)

mysql -uroot -p123456

use test;
source D:\DataBase\MYSQL\mysql-8.0.24-winx64\bin\test.sql

再次查詢表數(shù)據(jù)

附錄

cmd 切換到MySQL存放mysqlbinlog.exe應(yīng)用程序的bin目錄后,執(zhí)行以下命令,可以將Binlog文件轉(zhuǎn)換為txt文件,方便閱讀理解

cmd 切換到MySQL存放mysqlbinlog.exe應(yīng)用程序的bin目錄后,執(zhí)行以下命令,可以一次性完成數(shù)據(jù)恢復(fù)

mysqlbinlog.exe --no-defaults --start-position=2536 --stop-position=2848 --database=test “D:\DataBase\MYSQL\mysql-8.0.24-winx64\data\binlog.000178” | mysql -u root -p

mysqlbinlog: [ERROR] unknown variable ‘default-character-set=utf8’.

如果遇到這個(gè)錯(cuò)誤原因是mysqlbinlog這個(gè)工具無法識(shí)別binlog中的配置中的default-character-set=utf8這個(gè)指令
兩個(gè)方法可以解決這個(gè)問題:
一:在MySQL的配置/etc/my.cnf中將default-character-set=utf8 修改為 character-set-server = utf8,需要重啟MySQL服務(wù)
二:用mysqlbinlog --no-defaults mysql-bin.000004 命令打開

總結(jié) 

到此這篇關(guān)于MySQL數(shù)據(jù)庫通過Binlog恢復(fù)數(shù)據(jù)的文章就介紹到這了,更多相關(guān)MySQL Binlog恢復(fù)數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入理解MySQL公共表表達(dá)式

    深入理解MySQL公共表表達(dá)式

    公用表達(dá)式是MySQL8.0的新特性,它是一個(gè)命名的臨時(shí)結(jié)果集,作用范圍是當(dāng)前語句,本文主要介紹了MySQL公共表表達(dá)式使用,感興趣的可以了解一下
    2024-09-09
  • MySQL兩種臨時(shí)表的用法詳解

    MySQL兩種臨時(shí)表的用法詳解

    這篇文章主要介紹了MySQL兩種臨時(shí)表的用法詳解,.內(nèi)容比較詳細(xì),這里分享給大家,供大家參考,學(xué)習(xí)。
    2017-10-10
  • 查一次left?join沒有走索引以及原因分析

    查一次left?join沒有走索引以及原因分析

    這篇文章主要介紹了查一次left?join沒有走索引以及原因分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • DBeaver連接MySQL的超詳細(xì)步驟

    DBeaver連接MySQL的超詳細(xì)步驟

    DBeaver是免費(fèi)、開源、通用數(shù)據(jù)庫工具,是許多開發(fā)開發(fā)人員和數(shù)據(jù)庫管理員的所選,下面這篇文章主要給大家介紹了關(guān)于DBeaver連接MySQL的超詳細(xì)步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • MySQL查找NULL值的全面指南

    MySQL查找NULL值的全面指南

    在數(shù)據(jù)庫中,NULL 值表示缺失或未知的數(shù)據(jù),在 MySQL 中,我們可以使用特定的查詢語句來查找包含 NULL 值的數(shù)據(jù),本文將詳細(xì)介紹如何在 MySQL 中查找 NULL 值,并提供相關(guān)實(shí)例和代碼片段,需要的朋友可以參考下
    2024-05-05
  • Mysql?8.0?綠色版安裝教程詳解

    Mysql?8.0?綠色版安裝教程詳解

    這篇文章主要為大家詳細(xì)介紹了Mysql?8.0?綠色版安裝教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • MySQL數(shù)據(jù)庫自動(dòng)補(bǔ)全命令的三種方法

    MySQL數(shù)據(jù)庫自動(dòng)補(bǔ)全命令的三種方法

    這篇文章主要介紹了MySQL數(shù)據(jù)庫自動(dòng)補(bǔ)全命令的三種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • mysql慢查詢?nèi)罩据嗈D(zhuǎn)_MySQL慢查詢?nèi)罩緦?shí)操

    mysql慢查詢?nèi)罩据嗈D(zhuǎn)_MySQL慢查詢?nèi)罩緦?shí)操

    這篇文章主要介紹了mysql慢查詢?nèi)罩据嗈D(zhuǎn)_MySQL慢查詢?nèi)罩緦?shí)操,文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 如何使Mysql自動(dòng)生成序號(hào)列,序號(hào)自動(dòng)增長問題

    如何使Mysql自動(dòng)生成序號(hào)列,序號(hào)自動(dòng)增長問題

    這篇文章主要介紹了如何使Mysql自動(dòng)生成序號(hào)列,序號(hào)自動(dòng)增長問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Windows10下mysql 8.0.12解壓版安裝配置方法圖文教程

    Windows10下mysql 8.0.12解壓版安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了Windows10下mysql 8.0.12解壓版安裝方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08

最新評(píng)論

黄石市| 南皮县| 伊春市| 堆龙德庆县| 福泉市| 娱乐| 营口市| 资讯 | 洛南县| 大丰市| 喀喇沁旗| 丘北县| 土默特左旗| 德钦县| 东台市| 高阳县| 怀宁县| 攀枝花市| 丰县| 托里县| 梁山县| 崇阳县| 宝兴县| 通化县| 莆田市| 固安县| 铜陵市| 玛曲县| 磐安县| 江门市| 尤溪县| 崇左市| 丽水市| 华安县| 剑川县| 浦城县| 习水县| 富锦市| 仪征市| 阿尔山市| 深州市|