新聞中心
mysqldump是一個備份程序,可以用來轉(zhuǎn)儲一個數(shù)據(jù)庫或者數(shù)據(jù)庫集合,用于備份或者將數(shù)據(jù)轉(zhuǎn)移到另一個數(shù)據(jù)庫,也不一定非要是MySQL服務(wù)器。轉(zhuǎn)儲的類型也包括SQL語句,如:創(chuàng)建表、填充表等。而且,mysqldump也可以用于生成CSV文件、分隔文本或者XML格式。

10年積累的成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有泰興免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
mysqldump使用簡介
mysqldump 是 MySQL 系統(tǒng)自帶的邏輯備份工具,主要用于轉(zhuǎn)儲數(shù)據(jù)庫。它主要產(chǎn)生一系列的 SQL 語句,可以封裝到文件,該文件包含重建數(shù)據(jù)庫所需要的 SQL 命令如 CREATE DATABASE ,CREATE TABLE ,INSERT 等等。當我們需要還原這些數(shù)據(jù)時,只需要執(zhí)行此文件,即可將對應(yīng)的數(shù)據(jù)還原。
mysqldump 基礎(chǔ)使用語法如下:
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
執(zhí)行 mysqldump –help 或參考 MySQL 官方文檔,我們發(fā)現(xiàn) mysqldump 工具可配置的參數(shù)有很多,以下簡要說明部分常用的參數(shù)。
MySQLDump的備份方法MySQLDump的備份方法
上表展示了一些常見的 mysqldump 相關(guān)選項,當你不了解某個參數(shù)的作用時,可以執(zhí)行 mysqldump –help 來獲取幫助。對于布爾類型的參數(shù),一般還存在一個與之對立的參數(shù),如 –triggers 默認開啟,可以使用 –skip-triggers 來禁用它。
幾點備份小技巧
雖然 mysqldump 不太適用于大數(shù)據(jù)量的備份,但因其具有靈活方便、可根據(jù)場景定制參數(shù)等優(yōu)點,還是被廣泛應(yīng)用在數(shù)據(jù)導出領(lǐng)域。
筆者根據(jù)自己的使用經(jīng)驗,簡單分享幾點 mysqldump 備份小技巧:
建議使用 –single-transaction 參數(shù)來獲得一致性備份,減少鎖表。
按需求來導出,只要自己想要的數(shù)據(jù),盡量減少導出文件大小。
若想用于搭建從庫,建議使用 –master-data = 2 參數(shù)記錄主庫 binlog 信息。
若想備份存儲過程、自定義函數(shù)及事件,請加 -R -E 參數(shù),此二者默認不開啟。
不了解的參數(shù)不要隨意加,按默認即可。
下面分享幾個不同場景下的 mysqldump 使用方法:
# 備份全部數(shù)據(jù)庫(包含存儲過程、自定義函數(shù)及事件)
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
# 備份指定數(shù)據(jù)庫
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
# 導出某個表,數(shù)據(jù)以單行insert顯示
mysqldump -uroot -pxxxxxx --single-transaction --skip-extended-insert db1 tb1 > /tmp/tb1.sql
# 導出單表的部分數(shù)據(jù)
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 > /tmp/tb1.sql # 排除某些表導出 mysqldump -uroot -pxxxxxx --single-transaction --databases db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > /tmp/db1.sql # 只導出結(jié)構(gòu)或只導出數(shù)據(jù) mysqldump -uroot -pxxxxxx db1 --no-data > /tmp/db1_jiegou.sql mysqldump -uroot -pxxxxxx db1 --no-create-info > /tmp/db1_data.sql # 只導出某個庫的存儲過程及自定義函數(shù) mysqldump -uroot -pxxxxxx -d -t -R db1 > /tmp/db1_routine.sql # 遠程導出 即MySQL服務(wù)端不在本地 mysqldump -uroot -pxxxxxx -hxxx.xxx.xx -P3306 --single-transaction --databases db1 > /tmp/db1.sql 網(wǎng)站題目:快速上手MySQLDump
鏈接地址:http://fisionsoft.com.cn/article/coehjid.html


咨詢
建站咨詢
