日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql数据库的新特性_【数据库】MySQL新特性归档介绍

發(fā)布時(shí)間:2023/12/9 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库的新特性_【数据库】MySQL新特性归档介绍 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MySQL 8.0.17發(fā)布了,看了下release note,發(fā)現(xiàn)果真如之前預(yù)期的那樣,恢復(fù)了redo log歸檔(redo log archiving)功能。之所以說(shuō)是“恢復(fù)”,那是因?yàn)樵贗nnoDB非常古老的版本(MySQL 4.0.6之前的版本)才存在,之后就取消了,當(dāng)時(shí)還支持redo log mirror,老一點(diǎn)的MySQL DBA可能都還有印象,不過(guò)這兩個(gè)功能當(dāng)時(shí)沒(méi)什么卵用,所以取消了。

推案教程:MySQL數(shù)據(jù)庫(kù)入門視頻教程

此次,InnoDB重啟redo log歸檔功能,按照開(kāi)發(fā)團(tuán)隊(duì)的說(shuō)法,主要是為了解決備份一致性的問(wèn)題。文檔里是這么寫的:

Backup utilities that copy redo log records may sometimes fail to keep pacewith redo log generation while a backup operation is in progress, resultingin lost redo log records due to those records being overwritten. The redolog archiving feature addresses this issue by sequentially writing redo logrecords to an archive file. Backup utilities can copy redo log records fromthe archive file as necessary, thereby avoiding the potential loss of data.

in lost redo log records due to those records being overwritten. The redo

log archiving feature addresses this issue by sequentially writing redo log

records to an archive file. Backup utilities can copy redo log records from

the archive file as necessary, thereby avoiding the potential loss of data.

簡(jiǎn)言之,就是備份速度跟不上redo log生成的速度,結(jié)果導(dǎo)致redo log被覆蓋了,然后備份就無(wú)法保證一致性。有了redo log歸檔,就可以在備份啟動(dòng)時(shí)同步啟動(dòng)redo log歸檔,備份結(jié)束時(shí)同步停止redo log歸檔,這樣就可以避免這個(gè)問(wèn)題了,備份結(jié)束后可以利用這期間生成的redo log進(jìn)行數(shù)據(jù)恢復(fù)。

想要啟用redo log歸檔功能,只需設(shè)置innodb_redo_log_archive_dirs選項(xiàng)即可,該選項(xiàng)可支持在線動(dòng)態(tài)修改,例如:

[root@yejr.me]> SET GLOBAL innodb_redo_log_archive_dirs = "redolog-archiving-for-backup:/data/mysql8-redologs/";

指定/data/mysql8-redologs/目錄作為redo log歸檔存放路徑,并且指定label為 "redolog-archiving-for-backup",也就是這是專用于備份的redo log歸檔存放目錄。

我們還可以指定另一個(gè)目錄用于未來(lái)基于redo log的物理復(fù)制用途(我瞎猜的,可能沒(méi)那么快實(shí)現(xiàn))。

[root@yejr.me]> SET GLOBAL innodb_redo_log_archive_dirs = "redolog-archiving-for-backup:/data/mysql8-redologs1/;redolog-archiving-for-repl:/data/mysql8-redologs2";

選項(xiàng)innodb_redo_log_archive_dirs可以指定多個(gè)目錄作為歸檔redo log存放位置。不過(guò)這個(gè)選項(xiàng)有幾個(gè)限制:

設(shè)置完后,就可以開(kāi)始進(jìn)行redo log歸檔了。

第一個(gè)參數(shù)是我們之前定義過(guò)的一個(gè)label,第二個(gè)參數(shù)是該label對(duì)應(yīng)目錄下的子目錄,也就是 "/data/mysql8-redologs/20190722"。我們?cè)谙鄳?yīng)目錄下就可以看到這樣的redo log歸檔文件了:

[root@yejr.me]> ls -l /data/mysql8-redologs/20190722-r--r-----. 1 mysql mysql 0 Jul 22 20:54 archive.f0ff5743-97be-11e9-a5d6-0050568bba82.000001.log

文件名中常常的那串字符,就是本實(shí)例的UUID。此時(shí)文件的大小是0字節(jié)。

我們?cè)诹硪粋€(gè)session發(fā)動(dòng)一個(gè)sysbench oltp測(cè)試。執(zhí)行完sysbench測(cè)試結(jié)束后,我們停止redo log歸檔工作:

[root@yejr.me]> DO innodb_redo_log_archive_stop();Query OK, 0 rows affected (0.00 sec)

我分別記錄了測(cè)試前后redo log LSN的變化如下:

# 測(cè)試前的LSNLOG---Log sequence number 27938813989...# 測(cè)試后的LSNLOG---Log sequence number 27945024531

---

Log sequence number 27938813989

...

# 測(cè)試后的LSN

LOG

---

Log sequence number 27945024531

兩次LSN的差值是:6210542 字節(jié)。

然后我們查看redo log歸檔文件大小是多少:

[root@yejr.me]> ls -l /data/mysql8-redologs/20190722-r--r-----. 1 mysql mysql 6213632 Jul 22 21:19 archive.f0ff5743-97be-11e9-a5d6-0050568bba82.000001.log

可以看到文件大小是 6213632 字節(jié),和上面的 6210542 字節(jié)只相差了 3090 字節(jié),和本次測(cè)試產(chǎn)生的redo log日志大小相當(dāng)。后面我們就可以利用這個(gè)redo log做數(shù)據(jù)恢復(fù)之用了(不過(guò),相應(yīng)的官方工具還沒(méi)開(kāi)發(fā)出來(lái),拭目以待吧)。

一般情況下,redo log歸檔對(duì)性能的影響比較小(順序?qū)懭?,在大量高并發(fā)事務(wù)的場(chǎng)景下,可能對(duì)性能影響會(huì)稍大點(diǎn),不過(guò)也不用太擔(dān)心,以后有機(jī)會(huì)我再做個(gè)性能對(duì)比測(cè)試吧。

發(fā)車前,月月提醒我,MySQL企業(yè)版的備份工具已經(jīng)提前支持redo歸檔了,希望Percona Xtrabackup也能盡快支持哈。

最后,再多說(shuō)一句。大家也能注意到,MySQL 8.0版本之后,和ORACLE是越來(lái)越像了。有ORACLE這個(gè)最成功的商業(yè)數(shù)據(jù)庫(kù)大哥在前面,我們完全有理由不用擔(dān)心MySQL的未來(lái)。

總結(jié)

以上是生活随笔為你收集整理的mysql数据库的新特性_【数据库】MySQL新特性归档介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。