MySQLDump的備份方法
導讀 | mysqldump 是日常比較常用的一個工具了,在對資料庫進行匯出工作時,經常會用到 mysqldump 。本篇文章將介紹 mysqldump 工具的使用方法並分享幾點備份技巧。 |
mysqldump 是 MySQL 系統自帶的邏輯備份工具,主要用於轉儲資料庫。它主要產生一系列的 SQL 語句,可以封裝到檔案,該檔案包含重建資料庫所需要的 SQL 如 CREATE DATABASE ,CREATE TABLE ,INSERT 等等。當我們需要還原這些資料時,只需要執行此檔案,即可將對應的資料還原。
mysqldump 基礎使用語法如下:
Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS]
執行 mysqldump --help 或參考 MySQL 官方文件,我們發現 mysqldump 工具可配置的引數有很多,以下簡要說明部分常用的引數。
上表展示了一些常見的 mysqldump 相關選項,當你不瞭解某個引數的作用時,可以執行 mysqldump --help 來獲取幫助。對於布林型別的引數,一般還存在一個與之對立的引數,如 --triggers 預設開啟,可以使用 --skip-triggers 來禁用它。
雖然 mysqldump 不太適用於大資料量的備份,但因其具有靈活方便、可根據場景定製引數等優點,還是被廣泛應用在資料匯出領域。
筆者根據自己的使用經驗,簡單分享幾點 mysqldump 備份小技巧:
- 建議使用 --single-transaction 引數來獲得一致性備份,減少鎖表。
- 按需求來匯出,只要自己想要的資料,儘量減少匯出檔案大小。
- 若想用於搭建從庫,建議使用 --master-data = 2 引數記錄主庫 binlog 資訊。
- 若想備份儲存過程、自定義函式及事件,請加 -R -E 引數,此二者預設不開啟。
- 不瞭解的引數不要隨意加,按預設即可。
下面分享幾個不同場景下的 mysqldump 使用方法:
# 備份全部資料庫(包含儲存過程、自定義函式及事件) mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases > /tmp/all_database.sql # 要求記錄 binlog 位點資訊 可用於搭建從庫 mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases --master-data=2 > /tmp/all_database.sql # 備份指定資料庫 mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 > /tmp/db1.sql mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 db2 > /tmp/db1_db2.sql # 備份部分表 mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 > /tmp/tb1.sql mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 tb2 tb3 > /tmp/tb.sql # 匯出某個表,資料以單行insert顯示 mysqldump -uroot -pxxxxxx --single-transaction --skip-extended-insert db1 tb1 > /tmp/tb1.sql # 匯出單表的部分資料 mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where=" create_time >= '2021-06-01 00:00:00' " > /tmp/tb1.sql mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where='id < 10' > /tmp/tb1.sql # 排除某些表匯出 mysqldump -uroot -pxxxxxx --single-transaction --databases db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > /tmp/db1.sql # 只匯出結構或只匯出資料 mysqldump -uroot -pxxxxxx db1 --no-data > /tmp/db1_jiegou.sql mysqldump -uroot -pxxxxxx db1 --no-create-info > /tmp/db1_data.sql # 只匯出某個庫的儲存過程及自定義函式 mysqldump -uroot -pxxxxxx -d -t -R db1 > /tmp/db1_routine.sql # 遠端匯出 即MySQL服務端不在本地 mysqldump -uroot -pxxxxxx -hxxx.xxx.xx -P3306 --single-transaction --databases db1 > /tmp/db1.sql
本篇文章主要介紹了 mysqldump 工具的使用方法及一些常見場景。mysqldump 作為一個實用工具,希望各位都能上手學習下,比用 Navicat 等圖形化介面匯出更快速,且檔案體積小。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2783917/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysqldump常用備份恢復方法MySql
- Mysqldump的備份流程MySql
- 【mysqldump】mysqldump及備份恢復示例MySql
- mysqldump備份技巧分享MySql
- mysqldump 備份指令碼MySql指令碼
- mysqldump備份指令碼MySql指令碼
- 邏輯備份--mysqldumpMySql
- 簡單的mysqldump備份(windows)MySqlWindows
- windows mysqldump備份指令碼WindowsMySql指令碼
- mysqldump備份原理解析MySql
- mysql 邏輯備份 (mysqldump)MySql
- Mysqldump備份的基本流程介紹MySql
- mysqldump備份不輸入密碼直接備份MySql密碼
- 詳解MySQL資料備份之mysqldump使用方法MySql
- mysqldump使用方法(MySQL資料庫的備份與恢復)MySql資料庫
- mysqldump 資料庫備份程式MySql資料庫
- MySQL 5.5 mysqldump備份說明MySql
- mysql 備份資料庫 mysqldumpMySql資料庫
- mysqldump 進行資料備份MySql
- mysql的常用備份工具:mysqldump和mysqlhotcopyMySql
- MySQL主從配置及mysqldump備份MySql
- mysql5.6 mysqldump備份報錯MySql
- mysqldump備份指令碼一例MySql指令碼
- mysqldump如何只備份表結構MySql
- mysql備份恢復mysqldump面面觀MySql
- mysqldump 全量和增量備份指令碼MySql指令碼
- mysql之 mysqldump 備份恢復詳解MySql
- Mysql增量備份之Mysqldump& MylvmbackupMySqlLVM
- mysqldump 備份單張表和恢復MySql
- 簡記MySQL的邏輯備份(mydumper+mysqldump)MySql
- Mysql備份系列(2)--mysqldump備份(全量+增量)方案操作記錄MySql
- mysqldump全量備份+mysqlbinlog二進位制日誌增量備份MySql
- mysqldump壓縮備份匯出匯入(含定期備份shell指令碼)MySql指令碼
- Mysql備份和還原資料庫-mysqldumpMySql資料庫
- MySQL 5.5 Slave節點備份指令碼(mysqldump)MySql指令碼
- mysqldump來備份MYSQL資料庫(指令碼)MySql資料庫指令碼
- Mysqldump 在備庫進行備份時會阻塞備庫的sql_threadMySqlthread
- 關於mysqldump備份非事務表的注意事項MySql