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

MySQL獲取binlog的開(kāi)始時(shí)間和結(jié)束時(shí)間(最新方法)

 更新時(shí)間:2023年05月08日 09:19:20   作者:瀟湘隱者  
這篇文章主要介紹了MySQL如何獲取binlog的開(kāi)始時(shí)間和結(jié)束時(shí)間,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

MySQL數(shù)據(jù)庫(kù)恢復(fù)到指定時(shí)間點(diǎn)時(shí),我們必須通過(guò)MySQL全備+MySQL增量備份(可選)+MySQL的二進(jìn)制日志(binlog)進(jìn)行重放來(lái)恢復(fù)到指定時(shí)間點(diǎn),實(shí)際的生產(chǎn)環(huán)境中,可能一段時(shí)間內(nèi)生成了多個(gè)二進(jìn)制日志文件(binlog), MySQL本身不會(huì)存儲(chǔ)二進(jìn)制日志文件(binlog)的開(kāi)始時(shí)間和結(jié)束時(shí)間,如果要還原到某個(gè)時(shí)間點(diǎn),我們需要知道還原后重放哪些二進(jìn)制日志文件。那么就必須獲取二進(jìn)制日志(binlog)的開(kāi)始時(shí)間和結(jié)束時(shí)間。那么我們?nèi)绾潍@取MySQL二進(jìn)制日志文件(binlog)的開(kāi)始時(shí)間和結(jié)束時(shí)間呢?下面簡(jiǎn)單總結(jié)幾個(gè)方法,以供參考。

1:通過(guò)xtrabackup_info文件獲取

Xtrabckup還原全備或增量備份時(shí),會(huì)生成一個(gè)xtrabackup_info文件,如下所示:

$?more?xtrabackup_info?
uuid?=?3bd8a0f7-ea2f-11ed-9896-00505697b437
name?=?
tool_name?=?xtrabackup
tool_command?=?--defaults-file=/data/conf/my.cnf?--login-path=****?--backup?--target-dir=/db_backup/mysql_backup/db_backup/backup_cycle_2023_04_30/full_backup_2023_05_04_11_53_25
tool_version?=?8.0.31-24
ibbackup_version?=?8.0.31-24
server_version?=?8.0.31
start_time?=?2023-05-04?11:53:26
end_time?=?2023-05-04?11:53:30
lock_time?=?0
binlog_pos?=?filename?'mysql_binlog.000042',?position?'289',?GTID?of?the?last?change?'d01ecb4f-c944-11ed-9896-00505697b437:1-111:100
0108-1953894,d01edb91-c944-11ed-9896-00505697b437:1-5,f8ef839e-c942-11ed-9bd2-00505697b437:1-13'
innodb_from_lsn?=?0
innodb_to_lsn?=?824007891
partial?=?N
incremental?=?N
format?=?file
compressed?=?N
encrypted?=?N

如上所示,你可以看到一行關(guān)于binlog_pos的信息:binlog文件名為mysql_binlog.000042,起始位置為289,我們應(yīng)用MySQL二進(jìn)制日志(binlog)可以從這個(gè)二進(jìn)制日志開(kāi)始:

mysqlbinlog?--start-position="289"?./mysql_binlog.000042??>?restore.sql

這個(gè)方法有局限性,只能被動(dòng)獲取我們需要重放二進(jìn)制日志的文件名和開(kāi)始位置。這里僅供參考。

2:通過(guò)mysqlbinlog解析獲取

如下所示,我們想知道m(xù)ysql_binlog.000042什么時(shí)候開(kāi)始生成,什么時(shí)候開(kāi)始結(jié)束的,其實(shí)MySQL二進(jìn)制日志里面包含有這樣的信息,如下所示:

$?mysqlbinlog?mysql_binlog.000042??|?head?-10
#?The?proper?term?is?pseudo_replica_mode,?but?we?use?this?compatibility?alias
#?to?make?the?statement?usable?on?server?versions?8.0.24?and?older.
/*!50530?SET?@@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003?SET?@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER?/*!*/;
#?at?4
#230504?11:53:30?server?id?1??end_log_pos?126???Start:?binlog?v?4,?server?v?8.0.31?created?230504?11:53:30
BINLOG?'
OixTZA8BAAAAegAAAH4AAAAAAAQAOC4wLjMxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEwANAAgAAAAABAAEAAAAYgAEGggAAAAICAgCAAAACgoKKioAEjQA

我們可以通過(guò)獲取關(guān)鍵字Start: binlog獲取這一行的信息,從而獲取MySQL二進(jìn)制日志(binlog)的開(kāi)始時(shí)間,如下所示:

$?mysqlbinlog??mysql_binlog.000042?|grep?"Start:?binlog"?
#230504?11:53:30?server?id?1??end_log_pos?126???Start:?binlog?v?4,?server?v?8.0.31?created?230504?11:53:30
$?mysqlbinlog??mysql_binlog.000042?|grep?"Start:?binlog"?|?awk?-F?"server?id"?'{print?$1}'
#230504?11:53:30

如上所示,生成mysql_binlog.000042的時(shí)間點(diǎn)為230504 11:53:30,這里年份使用了縮寫(xiě)模式,即2023縮寫(xiě)為23,230504代表的是2023-05-04.

如果要獲取二進(jìn)制日志(binlog)的結(jié)束時(shí)間,這個(gè)還要看二進(jìn)制日志是正常循環(huán)結(jié)束還是實(shí)例關(guān)閉結(jié)束,它們會(huì)對(duì)應(yīng)不同的信息

STOP_EVENT
A STOP_EVENT has not payload or post-header
ROTATE_EVENT
The rotate event is added to the binlog as last event to tell the reader what binlog to request next.

如下所示:

$?mysqlbinlog?mysql_binlog.000042??|?tail?-10
#?at?533
#230504?12:13:35?server?id?3??end_log_pos?560???Xid?=?50948183
COMMIT/*!*/;
#?at?560
#230504?12:14:03?server?id?1??end_log_pos?606???Rotate?to?mysql_binlog.000043??pos:?4
SET?@@SESSION.GTID_NEXT=?'AUTOMATIC'?/*?added?by?mysqlbinlog?*/?/*!*/;
DELIMITER?;
#?End?of?log?file
/*!50003?SET?COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530?SET?@@SESSION.PSEUDO_SLAVE_MODE=0*/;
$?mysqlbinlog??mysql_binlog.000042??|grep?Rotate
#230504?12:14:03?server?id?1??end_log_pos?606???Rotate?to?mysql_binlog.000043??pos:?4
$?mysqlbinlog??mysql_binlog.000042??|grep?Rotate?|?awk?-F?"server?id"?'{print?$1}'
#230504?12:14:03

如果MySQL關(guān)閉后,對(duì)應(yīng)的MySQL二進(jìn)制日志的格式如下所示:

$?mysqlbinlog?mysql_binlog.000045?|?tail?-10
#?at?126
#230504?17:02:23?server?id?10??end_log_pos?157?CRC32?0x2d378ba5?????????Previous-GTIDs
#?[empty]
#?at?157
#230504?17:08:11?server?id?10??end_log_pos?180?CRC32?0xb6b08f2c?????????Stop
SET?@@SESSION.GTID_NEXT=?'AUTOMATIC'?/*?added?by?mysqlbinlog?*/?/*!*/;
DELIMITER?;
#?End?of?log?file
/*!50003?SET?COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530?SET?@@SESSION.PSEUDO_SLAVE_MODE=0*/;
$??mysqlbinlog??mysql_binlog.000045?|?grep?Stop?|?awk?-F?"server?id"?'{print?$1}'

方法3:stat命令查看創(chuàng)建時(shí)間

在Linux平臺(tái),我們可以通過(guò)stat命令查看文件的創(chuàng)建時(shí)間,如下所示

$?stat?mysql_binlog.000042
??File:?mysql_binlog.000042
??Size:?606?????????????Blocks:?8??????????IO?Block:?4096???regular?file
Device:?fd08h/64776d????Inode:?100663444???Links:?1
Access:?(0640/-rw-r-----)??Uid:?(??801/???mysql)???Gid:?(??800/???mysql)
Access:?2023-05-04?13:36:54.872910222?+0800
Modify:?2023-05-04?12:14:18.712310369?+0800
Change:?2023-05-04?12:14:18.712310369?+0800
?Birth:?2023-05-04?11:53:30.640989646?+0800

如上所示,我們可以通過(guò)Birth字段信息,知道m(xù)ysql_binlog.000042是2023-05-04 11:53:30創(chuàng)建的。但是我們沒(méi)法獲取二進(jìn)制日志的結(jié)束時(shí)間,不過(guò)由于MySQL的二進(jìn)制日志文件是有數(shù)字序列的,所以我們可以通過(guò)下一個(gè)二進(jìn)制日志文件(binlog)的開(kāi)始時(shí)間來(lái)判斷上一個(gè)二進(jìn)制日志文件(binlog)的結(jié)束時(shí)間。

$?stat?mysql_binlog.000043
??File:?mysql_binlog.000043
??Size:?335?????????????Blocks:?8??????????IO?Block:?4096???regular?file
Device:?fd08h/64776d????Inode:?100663430???Links:?1
Access:?(0640/-rw-r-----)??Uid:?(??801/???mysql)???Gid:?(??800/???mysql)
Access:?2023-05-04?13:36:58.524978710?+0800
Modify:?2023-05-04?16:55:07.161545830?+0800
Change:?2023-05-04?16:55:07.161545830?+0800
?Birth:?2023-05-04?12:14:18.713310387?+0800

到此這篇關(guān)于MySQL如何獲取binlog的開(kāi)始時(shí)間和結(jié)束時(shí)間的文章就介紹到這了,更多相關(guān)mysql binlog開(kāi)始時(shí)間和結(jié)束時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql屬于關(guān)系型數(shù)據(jù)庫(kù)嗎

    mysql屬于關(guān)系型數(shù)據(jù)庫(kù)嗎

    在本篇文章里小編給大家分享的是一篇關(guān)于mysql是否屬于關(guān)系型數(shù)據(jù)庫(kù)的相關(guān)文章,有興趣的朋友們可以參考下。
    2020-06-06
  • CentOS7版本安裝Mysql8.0.20版本數(shù)據(jù)庫(kù)的詳細(xì)教程

    CentOS7版本安裝Mysql8.0.20版本數(shù)據(jù)庫(kù)的詳細(xì)教程

    這篇文章主要介紹了CentOS7版本安裝Mysql8.0.20版本數(shù)據(jù)庫(kù)的教程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 一篇文章帶你了解SQL之CASE WHEN用法詳解

    一篇文章帶你了解SQL之CASE WHEN用法詳解

    本文介紹下,在mysql數(shù)據(jù)庫(kù)中,有關(guān)case when語(yǔ)句的用法,介紹了case when語(yǔ)句的基礎(chǔ)知識(shí),并提供了相關(guān)實(shí)例,供大家學(xué)習(xí)參考,有需要的朋友不要錯(cuò)過(guò)
    2021-08-08
  • MySQL中Truncate用法詳解

    MySQL中Truncate用法詳解

    Truncate是一個(gè)能夠快速清空資料表內(nèi)所有資料的SQL語(yǔ)法。這篇文章介紹了Truncate用法及注意事項(xiàng),并和drop,delete方法進(jìn)行對(duì)比。需要的朋友可以收藏下,方便下次瀏覽觀看
    2021-12-12
  • MySQL中SHOW TABLE STATUS的使用及說(shuō)明

    MySQL中SHOW TABLE STATUS的使用及說(shuō)明

    這篇文章主要介紹了MySQL中SHOW TABLE STATUS的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • MySQL 8.0.23 主要更新一覽(新特征解讀)

    MySQL 8.0.23 主要更新一覽(新特征解讀)

    這篇文章主要介紹了MySQL 8.0.23 主要更新一覽(新特征解讀),需要的朋友可以參考下
    2021-01-01
  • mysql如何通過(guò)當(dāng)前排序字段獲取相鄰數(shù)據(jù)項(xiàng)

    mysql如何通過(guò)當(dāng)前排序字段獲取相鄰數(shù)據(jù)項(xiàng)

    這篇文章主要介紹了mysql如何通過(guò)當(dāng)前排序字段獲取相鄰數(shù)據(jù)項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • MySQL數(shù)據(jù)庫(kù)之存儲(chǔ)過(guò)程?procedure

    MySQL數(shù)據(jù)庫(kù)之存儲(chǔ)過(guò)程?procedure

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)之存儲(chǔ)過(guò)程?procedure,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • MySQl數(shù)據(jù)庫(kù)必知必會(huì)sql語(yǔ)句(加強(qiáng)版)

    MySQl數(shù)據(jù)庫(kù)必知必會(huì)sql語(yǔ)句(加強(qiáng)版)

    本文給大家分享了一篇關(guān)于mysql數(shù)據(jù)庫(kù)必會(huì)sql語(yǔ)句加強(qiáng)版內(nèi)容,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-04-04
  • MySQL用戶(hù)權(quán)限設(shè)置保護(hù)數(shù)據(jù)庫(kù)安全

    MySQL用戶(hù)權(quán)限設(shè)置保護(hù)數(shù)據(jù)庫(kù)安全

    MySQL用戶(hù)權(quán)限設(shè)置是保護(hù)數(shù)據(jù)庫(kù)安全的重要措施之一。通過(guò)為用戶(hù)設(shè)置不同的權(quán)限,可以控制用戶(hù)對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)能力,包括讀取、修改、刪除、創(chuàng)建等操作。合理設(shè)置用戶(hù)權(quán)限可以避免誤操作、非法訪(fǎng)問(wèn)等安全問(wèn)題
    2023-05-05

最新評(píng)論