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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 8.0数据备份恢复_MySQL 8.0 增强逻辑备份恢复工具介绍-爱可生

發布時間:2023/12/15 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 8.0数据备份恢复_MySQL 8.0 增强逻辑备份恢复工具介绍-爱可生 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:楊濤濤

資深數據庫專家,專研 MySQL 十余年。擅長 MySQL、PostgreSQL、MongoDB 等開源數據庫相關的備份恢復、SQL 調優、監控運維、高可用架構設計等。目前任職于愛可生,為各大運營商及銀行金融企業提供 MySQL 相關技術支持、MySQL 相關課程培訓等工作。

本文來源:原創投稿 *愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯系小編并注明來源。

這篇我們來簡單介紹下 MySQL 8.0.21 附帶的增強版邏輯備份工具。

在介紹這個工具之前,先來回顧下 MySQL 的邏輯備份工具歷史。

1.mysqldump:最早,也是最成熟的邏輯備份工具,是 MySQL 原生的用來備份整個數據庫實例、單個數據庫、單張表的邏輯備份工具, 上手簡單,學習成本幾乎為 0。備份簡單,恢復也簡單。

比如導出單個數據庫 ytt: mysqldump ytt > /tmp/ytt.sql;

恢復也非常簡單:mysql

缺點是備份速度慢。在整個備份過程中,是單線程運行;備份出來的數據集要恢復的話同樣也是單線程運行,恢復速度也慢。除非對同一時刻的所有表單獨備份出來,自己寫額外腳本進行多線程恢復。

2.mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增強版??梢詫ν粋€數據集多個線程并發備份,備份速度很快。

其他缺點和 mysqldump 一樣。

3.MySQL Shell UTIL對象附帶的備份工具:隨 MySQL 8.0.21 最新版本捆綁發布,自帶多線程備份以及多線程恢復功能, 可以直接替代 mysqldump/mysqlpump。

dump_instance/dumpInstance 用來多線程備份 MySQL 整個單機實例

dump_schemas/dumpSchemas 用來多線程備份 MySQL 單個數據庫

load_dump/loadDump 用來多線程恢復之前兩個工具導出的數據集文件

MySQL Shell UTIL 備份恢復工具具備如下特性:

1. 壓縮導出(默認壓縮算法 zstd)

2. 數據集分塊導出,每塊 32M

3. 默認導出存儲過程、存儲函數、觸發器、事件、用戶、視圖

4. 默認 4 個線程導出

5. 默認進度展示

6. 默認字符集 utf8mb4

7. 默認開啟一致性導出

8. 默認表,視圖等定義導出為 SQL 語句

9. 默認數據導出為 TSV 格式數據

接下來,我們來簡單演示下 MySQL SHELL UTIL 備份恢復工具,以下我基于 PYTHON 語法:

1.dump_instance 示例

具體參數:(4 個線程同時備份數據庫 ytt)

# 備份路徑backup_path='/tmp/ytt_backup_instance';

# 備份選項,定義一致性,不包含哪些數據庫,線程數等等。backup_options = {"consistent":True,"threads":4,"excludeSchemas":["world","ytt_new","score","query_rewrite"]}

以下為備份結果信息匯總,其中包含備份時間,備份數據集原始大小,壓縮后大小,壓縮率以及壓縮速度等信息。

Duration: 00:00:35sSchemas dumped: 1Tables dumped: 8Uncompressed data size: 584.89 MBCompressed data size: 12.02 MBCompression ratio: 48.7Rows written: 28000016Bytes written: 12.02 MBAverage uncompressed throughput: 16.49 MB/sAverage compressed throughput: 338.96 KB/s

再來查看備份路徑下的文件,

.json 后綴的為元數據文件,比如備份開始時間,備份結束時間,備份的用戶,每張表的數據字典等信息。

剩下的即為備份的數據集,默認 ZSTD 壓縮。

2.dump_schemas

dump_instance 主要用來備份整個 MySQL 實例,如果只想備份單個數據庫,用 dump_schemas 更加簡單。

dump_schemas 參數除了要指定具體的數據庫名,其余的參數和 dump_instance 一樣

# 備份指定的數據庫backup_schema = ["ytt"]

# 備份路徑backup_path='/tmp/ytt_backup_schemas';

# 備份選項backup_options = {"consistent":True,"threads":4}

以下為 dump_schemas 備份的結果和 dump_instance 一樣。

Duration: 00:00:32sSchemas dumped: 1Tables dumped: 8Uncompressed data size: 584.89 MBCompressed data size: 12.02 MBCompression ratio: 48.7Rows written: 28000016Bytes written: 12.02 MBAverage uncompressed throughput: 18.15 MB/sAverage compressed throughput: 373.01 KB/s

3.load_dump

備份好了后,用 load_dump 恢復下數據庫 ytt 的備份集,

# 刪除原數據庫mysql> drop database ytt;Query OK, 8 rows affected (0.27 sec)

# 創建指定數據庫ytt.mysql> create database ytt;Query OK, 1 row affected (0.01 sec)

# 用于恢復的備份集目錄restore_url = '/tmp/ytt_backup_schemas'

# 恢復選項:是否對恢復的表做樣例數據收集,是否延遲建立索引,恢復指定的數據庫等。restore_options={"analyzeTables":"on","deferTableIndexes":"all","includeSchemas":["ytt"]}

恢復過程如下:

這里要說明下,load_dump 恢復數據的線程數量取決于之前備份集的線程數量。

恢復信息,由于筆記本虛擬機性能太差,數據僅供參考。

Executing common postamble SQL

40 chunks (28.00M rows, 584.89 MB) for 6 tables in 1 schemas were loaded in 3 min 30 sec (avg throughput 2.79 MB/s)0 warnings were reported during the load.

總結:

本篇介紹了 MySQL 8.0.21 發布的高性能邏輯備份恢復工具,可以完美替換性能低下的傳統備份工具 mysqldump 或者 mysqlpump。

總結

以上是生活随笔為你收集整理的mysql 8.0数据备份恢复_MySQL 8.0 增强逻辑备份恢复工具介绍-爱可生的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。