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

Mariadb數(shù)據(jù)庫的備份與恢復過程詳細介紹

 更新時間:2025年10月23日 11:29:03   作者:黑瘋雷  
MariaDB是一個流行的開源關系型數(shù)據(jù)庫管理系統(tǒng),備份與恢復數(shù)據(jù)是數(shù)據(jù)庫管理中非常重要的一個環(huán)節(jié),能夠保證數(shù)據(jù)的安全性和可靠性,這篇文章主要介紹了Mariadb數(shù)據(jù)庫的備份與恢復過程的相關資料,需要的朋友可以參考下

一、前提條件:二進制日志配置

作用

  • 用于數(shù)據(jù)庫恢復(時間點恢復)

  • ?建議?:單獨存儲路徑,與數(shù)據(jù)文件分離

啟用步驟

效果# 編輯配置文件
vim /etc/my.cnf

# 添加內(nèi)容
[mysqld]
log_bin=/path/to/binlogs/bin-log  # 自定義路徑和文件名前綴

效果

  • 日志文件:/path/to/binlogs/bin-log.000001

  • 索引文件:/path/to/binlogs/bin-log.index

二、mysqldump 備份恢復

特性?

  • 邏輯備份工具,支持所有存儲引擎

  • 支持溫備(InnoDB 可熱備)

  • 支持完全/部分備份,增量備份需結合 binlog

備份與還原場景

場景??備份命令??還原命令??關鍵說明?
單庫或多表(不備份庫定義)mysqldump -uroot -p db1 [tb1] > dump.sqlmysql db1 < dump.sql?庫必須已存在?
單庫或多庫(含庫定義)mysqldump -uroot -p -B db1 [db2] > dump.sqlmysql < dump.sql自動創(chuàng)建庫
所有數(shù)據(jù)庫(不含系統(tǒng)庫)mysqldump -uroot -p -A > alldb.sqlmysql < alldb.sql排除 performance_schema/information_schema

還原優(yōu)化操作

-- 臨時關閉二進制日志記錄(避免記錄恢復操作)
SET sql_log_bin = OFF;

-- 清除歷史 binlog(可選)
RESET MASTER;

-- 導入備份文件
SOURCE /path/to/alldb.sql;

-- 重新開啟二進制日志
SET sql_log_bin = ON;

三、mysqldump關鍵參數(shù)詳解

--master-data=[=#]?必須開啟 binlog?
1:所備份的數(shù)據(jù)之前加一條記錄為CHANGE MASTER TO語句,非注釋,不指定#,默認為1
2:記錄為注釋的CHANGE MASTER TO語句此選項會自動關閉–lock-tables功能,自動打開-x–lock-all-tables功能(除非開啟–single-transaction)
-A / --all-databases備份所有數(shù)據(jù)庫,含create database
-B / --databases db_name…指定備份的數(shù)據(jù)庫,包括create database語句
-E / --events備份相關的所有event scheduler 計劃任務
-R / --routines備份所有存儲過程和自定義函數(shù)
--triggers備份表相關觸發(fā)器,默認啟用,用–skip-triggers,不備份觸發(fā)器
--default-character-set=utf8指定字符集
-F / --flush-logs備份前滾動日志,鎖定表完成后,執(zhí)行flush logs命令,生成新的二進制日志文件,配合-A 或 -B 選項時,會導致刷新多次數(shù)據(jù)庫。建議在同一時刻執(zhí)行轉儲和日志刷新,可通過和–single-transaction或-x,–master-data 一起使用實現(xiàn),此時只刷新一次日志
--compact去掉注釋,適合調(diào)試,生產(chǎn)不使用
-d / --no-data只備份表結構
-t / --no-create-info只備份數(shù)據(jù),不備份create table
-n / --no-create-db不備份create database,可被-A或-B覆蓋
--flush-privileges刷新權限,備份mysql或相關時需要使用
-f / --force忽略SQL錯誤,繼續(xù)執(zhí)行
--hex-blob使用十六進制符號轉儲二進制列,當有包括BINARY,VARBINARY,BLOB,BIT的數(shù)據(jù)類型的列時使用,避免亂碼
-q / --quick不緩存查詢,直接輸出,加快備份速度

?? --master-data會自動啟用 --lock-all-tables(除非搭配 --single-transaction

通過備份文件和二進制文件恢復數(shù)據(jù)庫到當前裝填

通常數(shù)據(jù)庫的備份都發(fā)生在凌晨用戶訪問量較少的時候進行,例如我們在凌晨3點對數(shù)據(jù)庫進行了完全備份,但是在上午11點的時候,因為管理員的誤操作,到時候數(shù)據(jù)庫某張表被刪除,如果我們用數(shù)據(jù)庫的完整備份的話,就只能恢復到凌晨3點,那么要恢復3點到11點這段時間的數(shù)據(jù),就需要用到二進制日志

前提:在進行數(shù)據(jù)庫備份的時候加了–master-data=[1|2]選項,記錄了數(shù)據(jù)庫備份時,日志的位置

四、Binlog + 全備恢復流程

場景模擬?

  • 凌晨 3:00 進行全備

  • 上午 11:00 誤刪除數(shù)據(jù)表

  • ?目標?:恢復到誤刪前狀態(tài)(3:00 ~ 11:00 的數(shù)據(jù)從 binlog 恢復)

操作步驟

4.1 全量備份?(記錄 binlog 位置)

[ root@Centos~]# mysqldump -A --master-data=2 > database.sql
[ root@Centos~]# less database.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='XX-bin.000001', MASTER_LOG_POS=2638793;
這條記錄了當前的備份所在的日志位置,為XX-bin.000001的2638793

4.2 提取增量 binlog

[root@Centos~]# mysqlbinlog --start-position=2638793 /XXX/mariadb-bin.000007 > binary.sql

4.3 恢復數(shù)據(jù)

-- 關閉 binlog 記錄
SET sql_log_bin = OFF;

-- 導入全量備份
SOURCE full_backup.sql;

-- 導入增量 binlog
SOURCE incremental.sql;

-- 重新啟用 binlog
SET sql_log_bin = ON;

五、注意事項?

  1. ?遷移數(shù)據(jù)庫?:不可用 rm -rf /var/lib/mysql/*暴力刪除(破壞系統(tǒng)表),應用 mysqladmin正規(guī)操作。

  2. ?路徑安全?:Binlog 存儲目錄需確保 MySQL 用戶有寫權限。

  3. ?一致性?:MyISAM 表備份需加 --lock-all-tables,InnoDB 推薦加 --single-transaction

  4. ?版本兼容?:備份/恢復建議使用相同 MySQL 版本。

? ?進階提示?:定期清理 binlog(PURGE BINARY LOGS)避免磁盤寫滿,建議配合 expire_logs_days參數(shù)使用。

請不要以此視為定論,這只是我的個人經(jīng)驗

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

相關文章

  • mysql 教程 存儲過程

    mysql 教程 存儲過程

    最近用mysql + asp.net來寫網(wǎng)站,既然mysql已經(jīng)支持存儲過程了,那么像分頁這么常用的東西,當然要用存儲過程啦
    2009-06-06
  • MySQL中基本的多表連接查詢教程

    MySQL中基本的多表連接查詢教程

    這篇文章主要介紹了MySQL中基本的多表連接查詢教程,附帶了JOIN的基本連接用法講解,需要的朋友可以參考下
    2015-11-11
  • MySQL之范式的使用詳解

    MySQL之范式的使用詳解

    這篇文章主要介紹了MySQL之范式的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • win10下mysql 5.7.23 winx64安裝配置方法圖文教程

    win10下mysql 5.7.23 winx64安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了win10下mysql 5.7.23 winx64安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • mysql 8.0.17 解壓版安裝配置方法圖文教程

    mysql 8.0.17 解壓版安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.17 解壓版安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • MySQL 的模塊不能安裝的解決方法

    MySQL 的模塊不能安裝的解決方法

    這篇文章主要介紹了MySQL 的模塊不能安裝的解決方法的相關資料,需要的朋友可以參考下
    2015-07-07
  • mysql如何增加數(shù)據(jù)表的字段(ALTER)

    mysql如何增加數(shù)據(jù)表的字段(ALTER)

    這篇文章主要介紹了mysql如何增加數(shù)據(jù)表的字段(ALTER),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MySql數(shù)據(jù)庫之a(chǎn)lter表的SQL語句集合

    MySql數(shù)據(jù)庫之a(chǎn)lter表的SQL語句集合

    mysql之a(chǎn)lter表的SQL語句集合,包括增加、修改、刪除字段,重命名表,添加、刪除主鍵等。本文給大家介紹MySql數(shù)據(jù)庫之a(chǎn)lter表的SQL語句集合,感興趣的朋友一起學習吧
    2016-04-04
  • 解析MySQL索引的作用

    解析MySQL索引的作用

    這篇文章主要為大家詳細介紹了MySQL索引的作用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • MySQL索引與事務定義到使用詳解

    MySQL索引與事務定義到使用詳解

    這篇文章主要介紹了MySQL數(shù)據(jù)庫索引事務,索引是為了加速對表中數(shù)據(jù)行的檢索而創(chuàng)建的一種分散的存儲結;事物是屬于計算機中一個很廣泛的概念,一般是指要做的或所做的事情,下面我們就一起進入文章了解具體內(nèi)容吧
    2022-12-12

最新評論

木兰县| 哈尔滨市| 武乡县| 县级市| 教育| 沧州市| 新余市| 汾阳市| 台北市| 陵水| 湘阴县| 南和县| 梁山县| 平顺县| 神池县| 虞城县| 诸暨市| 茶陵县| 巴塘县| 项城市| 通化市| 晋中市| 澎湖县| 柳河县| 龙门县| 合阳县| 遵义县| 鹤庆县| 萍乡市| 南木林县| 天柱县| 惠东县| 子洲县| 卢氏县| 石渠县| 卢氏县| 怀宁县| 青岛市| 龙山县| 曲靖市| 钟山县|