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

利用MyFlash實(shí)現(xiàn)MySQL數(shù)據(jù)閃回的操作指南

 更新時(shí)間:2024年06月21日 09:08:58   作者:逢生博客  
MySQL數(shù)據(jù)閃回是一種高級(jí)功能,它允許你在數(shù)據(jù)庫(kù)中恢復(fù)到某個(gè)特定的時(shí)間點(diǎn),通常是事務(wù)開(kāi)始或保存點(diǎn)的狀態(tài),以便處理數(shù)據(jù)錯(cuò)誤或回滾意外更改,本文給大家介紹了如何利用MyFlash實(shí)現(xiàn)MySQL數(shù)據(jù)閃回,需要的朋友可以參考下

Github

MyFlash 限制

僅支持 5.6 與 5.7

binlog 格式必須為 row,且 binlog_row_image=full

只能回滾DML(增、刪、改

MySQL 準(zhǔn)備

注: 本章 MySQL 是采用 Docker 部署,容器內(nèi)是 不帶mysqlbinlog 的,可以從已安裝 MySQL 的Linux服務(wù)器上拷貝 mysqlbinlog 文件。

開(kāi)啟 binlog

[mysqld]
# binlog功能
log_bin=/var/lib/mysql/mysql-bin
# binlog 文件格式
binlog_format=ROW
binlog_row_image=FULL
# binlog 文件保留時(shí)間7天(默認(rèn)0天)
expire_logs_days=7
# binlog 單個(gè)文件的最大值大?。J(rèn)1G)
max_binlog_size=512m
# 開(kāi)啟 binlog 后需要?jiǎng)?chuàng)建 function 或 procedure 時(shí)要開(kāi)啟
log_bin_trust_function_creators=1
# 服務(wù)id,以區(qū)分主庫(kù)和備庫(kù)
server-id=1
-- 顯示是否開(kāi)啟 binlog
show variables like 'log_bin%';
-- 顯示 binlog 文件格式
show variables like 'binlog_format%';
-- 顯示 binlog 文件保留時(shí)間
show variables like 'expire_logs_days%';
-- 顯示 binlog 單個(gè)文件的最大值大小
show variables like 'max_binlog_size%';
-- 顯示 binlog 事件
show binlog events;
-- 顯示全部 binlog 文件列表
show binary logs;
show master logs;
-- 顯示最新 binlog 文件編號(hào)以及最后一個(gè)操作事件結(jié)束點(diǎn)(Position)值
show master status;
-- 結(jié)束當(dāng)前 binlog 文件并生成新的 binlog 文件
flush logs;
-- 重置 binlog 文件(清空全部 biglog 文件)
reset master;

注: binlog 默認(rèn)存放在 /var/lib/mysql/ 數(shù)據(jù)庫(kù)文件目錄。

mysqlbinlog

  • 查看 Linux 環(huán)境下 mysqlbinlog 目錄
# /usr/bin/mysqlbinlog
whereis mysqlbinlog
  • 將 mysqlbinlog 文件復(fù)制到容器內(nèi)的 /usr/bin 目錄
docker cp mysqlbinlog mysql:/usr/bin
# 進(jìn)入容器內(nèi)
docker exec -it mysql /bin/bash
# 在容器內(nèi)為 mysqlbinlog 添加權(quán)限
chmod +x /usr/bin/mysqlbinlog
  • 使用 mysqlbinlog 生成 sql 文件
# 進(jìn)入容器內(nèi)執(zhí)行
mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v /var/lib/mysql/mysql-bin.000001 >/tmp/binlog-000001.sql
# 進(jìn)入容器內(nèi)執(zhí)行
mysqlbinlog --no-defaults \
--database=db_name \
--start-datetime='2024-06-20 00:00:00' \
--stop-datetime='2024-06-20 17:00:00' \
/var/lib/mysql/mysql-bin.000001 >/tmp/binlog-000001.sql

安裝 MyFlash

  • 安裝依賴
# 安裝 gcc glib-2.0
yum install -y gcc libgnomeui-devel
# 驗(yàn)證是否安裝成功
pkg-config --modversion glib-2.0
  • 安裝MyFlash
# 下載源碼
git clone https://github.com/Meituan-Dianping/MyFlash.git
cd MyFlash
# 動(dòng)態(tài)編譯鏈接安裝
gcc -w `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c -o binary/flashback
  • 配置環(huán)境變量
vim /etc/profile
# 在文件末尾添加
alias flashback=~/MyFlash/binary/flashback
source /etc/profile
  • 驗(yàn)證是否安裝成功
cd ~/MyFlash/binary
./flashback --help

flashback 選項(xiàng)

選項(xiàng)說(shuō)明
–databaseNamesdatabaseName to apply. if multiple, seperate by comma(,)
–tableNamestableName to apply. if multiple, seperate by comma(,)
–tableNames-filetableName to apply. if multiple, seperate by comma(,)
–start-positionstart position
–stop-positionstop position
–start-datetimestart time (format %Y-%m-%d %H:%M:%S)
–stop-datetimestop time (format %Y-%m-%d %H:%M:%S)
–sqlTypessql type to filter . support INSERT, UPDATE ,DELETE. if multiple, seperate by comma(,)
–maxSplitSizemax file size after split, the uint is M
–binlogFileNamesbinlog files to process. if multiple, seperate by comma(,)
–outBinlogFileNameBaseoutput binlog file name base
–logLevellog level, available option is debug,warning,error
–include-gtidsgtids to process. if multiple, seperate by comma(,)
–include-gtids-filegtids to process. if multiple, seperate by comma(,)
–exclude-gtidsgtids to skip. if multiple, seperate by comma(,)
–exclude-gtids-filegtids to skip. if multiple, seperate by comma(,)

生成回滾文件

# 進(jìn)入MyFlash的bin目錄
cd ~/MyFlash/binary
# 生成回滾文件,執(zhí)行后會(huì)在當(dāng)前目錄下生成 binlog_output_base.flashback 文件
./flashback --sqlTypes='INSERT' \
--binlogFileNames=/var/lib/mysql/mysql-bin.000001 \
--databaseNames=db_name \
--tableNames=table_name \
--start-datetime='2024-06-20 18:23:00'

執(zhí)行回滾操作

# 在binlog_output_base.flashback所在目錄下執(zhí)行以下命令
mysqlbinlog binlog_output_base.flashback | mysql -h 127.0.0.1 -uroot -p
# 或
mysqlbinlog binlog_output_base.flashback | mysql -uroot -p
# 輸入數(shù)據(jù)庫(kù)密碼

到此這篇關(guān)于利用MyFlash實(shí)現(xiàn)MySQL數(shù)據(jù)閃回的操作指南的文章就介紹到這了,更多相關(guān)MyFlash MySQL數(shù)據(jù)閃回內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL5.6.22 綠色版 安裝詳細(xì)教程(圖解)

    MySQL5.6.22 綠色版 安裝詳細(xì)教程(圖解)

    本文通過(guò)圖文并茂的形式給大家介紹了MySQL5.6.22 綠色版 安裝詳細(xì)教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-11-11
  • win10下完全卸載+重裝MySQL步驟詳解

    win10下完全卸載+重裝MySQL步驟詳解

    小編是因?yàn)檫B接MySQL和Qt時(shí)出現(xiàn)問(wèn)題,迫不得已選擇把64bitMySQL換成了32bitMySQL,在安裝過(guò)程中出現(xiàn)各種問(wèn)題,下面小編把 win10下完全卸載+重裝MySQL步驟分享到腳本之家平臺(tái),需要的朋友參考下
    2017-12-12
  • 聊聊QT添加MySQL驅(qū)動(dòng)依賴的問(wèn)題

    聊聊QT添加MySQL驅(qū)動(dòng)依賴的問(wèn)題

    這篇文章主要介紹了QT添加MySQL驅(qū)動(dòng)依賴的問(wèn)題,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • mysql 全文檢索中文解決方法及實(shí)例代碼

    mysql 全文檢索中文解決方法及實(shí)例代碼

    這篇文章主要介紹了mysql 全文檢索中文解決方法及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • MySQL各個(gè)特殊時(shí)間段的查詢方法

    MySQL各個(gè)特殊時(shí)間段的查詢方法

    在MySQL數(shù)據(jù)庫(kù)中,經(jīng)常需要查詢某個(gè)時(shí)間段內(nèi)的數(shù)據(jù),所以本文給大家介紹了MySQL各個(gè)特殊時(shí)間段的查詢方法,并提供相應(yīng)的源代碼示例,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • MYSQL查看表是否被鎖以及解鎖過(guò)程

    MYSQL查看表是否被鎖以及解鎖過(guò)程

    這篇文章主要介紹了MYSQL查看表是否被鎖以及解鎖過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-10-10
  • mysql jdbc連接步驟及常見(jiàn)參數(shù)

    mysql jdbc連接步驟及常見(jiàn)參數(shù)

    這篇文章主要介紹了mysql jdbc連接步驟及常見(jiàn)參數(shù),需要的朋友可以參考下
    2015-09-09
  • Mysql動(dòng)態(tài)更新數(shù)據(jù)庫(kù)腳本的示例講解

    Mysql動(dòng)態(tài)更新數(shù)據(jù)庫(kù)腳本的示例講解

    今天小編就為大家分享一篇關(guān)于Mysql動(dòng)態(tài)更新數(shù)據(jù)庫(kù)腳本的示例講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • MYSQL復(fù)雜查詢練習(xí)題以及答案大全(難度適中)

    MYSQL復(fù)雜查詢練習(xí)題以及答案大全(難度適中)

    在我們學(xué)習(xí)mysql數(shù)據(jù)庫(kù)時(shí)需要一些題目進(jìn)行練習(xí),下面這篇文章主要給大家介紹了關(guān)于MYSQL復(fù)雜查詢練習(xí)題以及答案的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),這些練習(xí)題難度適中,需要的朋友可以參考下
    2022-08-08
  • MySQL中WITH ROLLUP的具體使用

    MySQL中WITH ROLLUP的具體使用

    本文主要介紹了MySQL中WITH ROLLUP的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-07-07

最新評(píng)論

军事| 陈巴尔虎旗| 临朐县| 霸州市| 扎兰屯市| 丹江口市| 武胜县| 峨边| 木里| 商洛市| 罗平县| 黄平县| 象州县| 易门县| 郯城县| 镶黄旗| 五寨县| 榆中县| 永定县| 翼城县| 蒙自县| 沙洋县| 准格尔旗| 乡城县| 永丰县| 德惠市| 花垣县| 大连市| 梁河县| 鹿泉市| 怀化市| 无为县| 延川县| 安徽省| 扶风县| 伊通| 许昌县| 木里| 昌图县| 兴国县| 广元市|