前言:
是日常比較常用的一個工具了,在對數據庫進行導出工作時,經常會用到 。本篇文章將介紹 工具的使用方法并分享幾點備份技巧。
1.使用簡介
是 MySQL 系統自帶的邏輯備份工具,主要用于轉儲數據庫。它主要產生一系列的 SQL 語句,可以封裝到文件,該文件包含重建數據庫所需要的 SQL 命令如 , TABLE , 等等。當我們需要還原這些數據時,只需要執行此文件,即可將對應的數據還原。
基礎使用語法如下:
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
執行 --help 或參考 MySQL 官方文檔,我們發現 工具可配置的參數有很多,以下簡要說明部分常用的參數。
參數
上表展示了一些常見的 相關選項,當你不了解某個參數的作用時,可以執行 --help 來獲取幫助。對于布爾類型的參數,一般還存在一個與之對立的參數,如 -- 默認開啟,可以使用 --skip- 來禁用它。
2.幾點備份小技巧
雖然 不太適用于大數據量的備份,但因其具有靈活方便、可根據場景定制參數等優點,還是被廣泛應用在數據導出領域。
筆者根據自己的使用經驗mysql導出數據到文件命令,簡單分享幾點 備份小技巧:
下面分享幾個不同場景下的 使用方法:
# 備份全部數據庫(包含存儲過程、自定義函數及事件)
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
總結:
本篇文章主要介紹了 工具的使用方法及一些常見場景。 作為一個實用工具mysql導出數據到文件命令,希望各位都能上手學習下,比用 等圖形化界面導出更快速,且文件體積小。