婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mysql 數據庫備份的多種實現方式總結

mysql 數據庫備份的多種實現方式總結

熱門標簽:博樂電銷機器人 400電話到哪辦理優惠 怎么更改高德地圖標注 上海市三維地圖標注 南寧外呼系統招商 機器人打電銷電話 電話機器人是電腦呼號嗎 云南大數據外呼系統 鄭州網絡外呼系統價錢

本文實例講述了mysql 數據庫備份的多種實現方式。分享給大家供大家參考,具體如下:

一、使用mysqldump進行備份

1、完整備份所有數據庫

mysqldump -u root -p --all-databases > E:/all.sql

在mysql8之前,存儲過程和事件存儲在mysql.proc和mysql.event表中。

從mysql8開始,相應對象的定義存儲在數據字典中,這些表不會被備份。

要將存儲過程和事件也包含,請使用如下語句:

mysqldump -u root -p --all-databases --routines --events > E:/all.sql

2、時間點恢復

要獲得時間點恢復,應該指定--single-transaction 和 --master-data

--single-transaction 在備份之前,會將事務隔離級別設為REPEATABLE READ模式,并執行 START TRANSACTION 來提供一致的備份。

--master-data 將服務器的二進制日志的位置輸出到 sql 文件。

mysqldump -u root -p --all-databases --routines --events --single-transaction --master-data > E:/all.sql

--master-data = 2表示在導出過程中,記錄當前庫的binlog和pos點,并在導出文件中注釋這一行。

--master-data = 1表示在導出過程中,記錄當前庫的binlog和pos點,并在導出文件中不注釋這一行。

3、在從庫導出時,記錄主庫的二進制日志位置

mysqldump -u root -p --all-databases --routines --events --single-transaction --dump-slave > E:/all.sql

--dump-slave = 2表示在導出過程中,記錄主庫的binlog和pos點,并在導出文件中注釋這一行。

--dump-slave = 1表示在導出過程中,記錄主庫的binlog和pos點,并在導出文件中不注釋這一行。

4、指定數據庫和表導出

mysqldump -u root -p --databases 數據庫 > E:/bak.sql
mysqldump -u root -p --databases 數據庫 --tables 數據表 > E:/bak.sql

5、忽略表

mysqldump -u root -p --databases 數據庫 --ignore-table=數據庫.數據表 > E:/bak.sql

6、指定行

mysqldump -u root -p --databases 數據庫 --tables 數據表 --where="條件" > E:/bak.sql

或者用limit限制結果集

mysqldump -u root -p --databases 數據庫 --tables 數據表 --where="條件 LIMIT 條數" > E:/bak.sql

7、導出遠程服務器

mysqldump -u root -p -h 主機IP --all-databases --routines --events --triggers > E:/all.sql

8、用于與其他服務器合并數據的備份

mysqldump -u root -p --databases 數據庫 --skip-add-drop-table --replace > E:/bak.sql

--skip-add-drop-table: 不會將drop table語句寫入導出文件中。

--replace:將使用replace into語句而不是insert語句導出。

二、使用mysqlpump進行備份

1、并行處理,通過指定線程數量加速備份過程

mysqlpump --default-parallelism=8 > E:/all.sql

2、也可以指定每個數據庫的線程數

mysqlpump -u root -p --parallel-schemas=4:數據庫 --default-parallelism=2 > E:/all.sql

3、排除或包含數據庫

mysqlpump -u root -p --include-databases=%t > E:/bak.sql

對以 t 結尾的所有數據庫進行備份,多個數據庫用逗號分隔,數據庫名可以使用%或_通配符。

除此之外,還有類似--include-events,--include-routines,--include-tables,--include-triggers,--include-users等

mysqlpump -u root -p --exclude-databases=a% > E:/bak.sql

排除以 a 開頭的數據庫進行備份,多個數據庫用逗號分隔,數據庫名可以使用%或_通配符。

除此之外,還有類似--exclude-events,--exclude-routines,--exclude-tables,--exclude-triggers,--exclude-users等

4、備份用戶

mysqlpump -u root -p --exclude-databases=% --users > E:/user.sql

可以通過--exclude-users來排除某些用戶

mysqlpump --exclude-databases=% --exclude-users=root --users > E:/user.sql

5、壓縮備份

通過使用--compress-output = lz4 或 --compress-output = zlib

mysqlpump -u root -p --compress-output=lz4 > E:/all.lz4
mysqlpump -u root -p --compress-output=zlib > E:/all.zlib

通過如下語句進行解壓

lz4_decompress E:/all.lz4 all.sql
zlib_decompress E:/all.zlib all.sql

三、使用mydumper進行備份

mydumper需要單獨安裝,官網:https://github.com/maxbube/mydumper/releases

1、完全備份

mydumper -u root --password=密碼 --outputdir 導出路徑

2、備份單獨的表

mydumper -u root --password=密碼 -B 數據庫 -T 數據表 --triggers --events --routines --outputdir 導出路徑

3、使用正則表達式來備份特定數據庫

mydumper -u root --passoword=密碼 --regex '^(?!(mysql|test))' --outputdir 導出路徑

從備份中排除mysql和test數據庫。

4、備份大表

mydumper -u root --password=密碼 -B 數據庫 -T 數據表 --triggers --events --routines --rows=100000 -t 8 --trx-consistency-only --outputdir 導出路徑

--rows 表示將表分成多少行的塊

--trx-consistency-only 如果是innodb,將使鎖定最小化。

-t 指定線程數量

5、壓縮備份

mydumper -u root --password=密碼 -B 數據庫 -T 數據表 -t 8 --trx-consistency-only --compress --outputdir 導出路徑

6、僅備份數據

通過--no-schemas選項來跳過 schema 并且僅備份數據

mydumper -u root --password=密碼 -B 數據庫 -T 數據表 -t 8 --no-schemas --compress --trx-consistency-only --outputdir 導出路徑

四、使用普通文件進行備份

可以通過直接復制數據目錄中的文件來進行備份,需先關閉mysql,復制文件,然后啟動mysql。

五、使用xtrabackup進行備份

https://www.percona.com/downloads/XtraBackup/LATEST/

1、全量備份

xtrabackup --defaults-file=/etc/my.cnf --host=主機IP --user=用戶名 --password=密碼 --port=端口 --backup --parallel=3 --target-dir=備份目錄

--defaults-file 數據庫配置文件

--backup 執行備份操作

--parallel 備份時并發的線程數

--target-dir 備份文件的目錄

2、增量備份

xtrabackup --defaults-file=/etc/my.cnf \
--host=主機IP \
--user=用戶名 \
--password=密碼 \
--port=3306 \
--backup \
--parallel=3 \
--target-dir=增量備份目錄 \
--incremental-basedir=全量備份目錄 \

增量備份是基于全量備份的,--incremental-basedir 指向全量備份目錄

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:
  • MySQL數據庫的實時備份知識點詳解
  • mysql備份的三種方式詳解
  • MySql數據庫備份的幾種方式
  • MySQL數據庫入門之備份數據庫操作詳解
  • MySQL學習之數據庫備份詳解

標簽:恩施 白銀 澳門 益陽 寧夏 杭州 秦皇島 定西

巨人網絡通訊聲明:本文標題《mysql 數據庫備份的多種實現方式總結》,本文關鍵詞  mysql,數據庫,備份,的,多種,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql 數據庫備份的多種實現方式總結》相關的同類信息!
  • 本頁收集關于mysql 數據庫備份的多種實現方式總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宜宾市| 遵义市| 潼南县| 缙云县| 独山县| 东兴市| 霞浦县| 闸北区| 榆林市| 米脂县| 凯里市| 年辖:市辖区| 永年县| 新郑市| 柳江县| 会理县| 旺苍县| 清苑县| 甘南县| 九台市| 平乡县| 巫山县| 南江县| 通渭县| 沐川县| 连江县| 巴中市| 巴林右旗| 克东县| 松潘县| 扶余县| 衡南县| 萨嘎县| 霸州市| 隆林| 和平区| 陆良县| 潮安县| 常山县| 曲松县| 芦山县|