MySQL使用命令行備份數(shù)據(jù)的方法詳解
前言
由于長(zhǎng)期使用測(cè)試環(huán)境的數(shù)據(jù)庫,時(shí)不時(shí)會(huì)有臟數(shù)據(jù)刪除不干凈,對(duì)此很需要一個(gè)實(shí)時(shí)將生產(chǎn)庫的數(shù)據(jù)定期備份一份,防止生產(chǎn)庫中會(huì)有臟數(shù)據(jù)進(jìn)來。
1. 基本知識(shí)
mysqldump
是MySQL數(shù)據(jù)庫管理系統(tǒng)提供的命令行工具,用于備份數(shù)據(jù)庫
mysqldump -u [username] -p[password] [database_name] > /path/to/backup.sql
具體的參數(shù)說明:
-u
: 指定MySQL用戶名-p[password]
: 指定MySQL密碼,注意 -p 之后沒有空格,直接跟密碼(如果是window系統(tǒng),直接使用英文的雙引號(hào),囊括密碼)[database_name]
: 要備份的數(shù)據(jù)庫名> /path/to/backup.sql
: 將備份數(shù)據(jù)輸出到指定的 SQL 文件
對(duì)于該命令通過運(yùn)行 mysqldump --help
來查看所有可用的選項(xiàng)和參數(shù)。
了解這些參數(shù)有助于根據(jù)你的需求進(jìn)行定制化的備份操作
2. 常用參數(shù)
下面主要講解常用的命令參數(shù):(如果攜帶密碼在界面中會(huì)不安全,此處也可隱藏不寫?。?/p>
- 備份整個(gè)數(shù)據(jù)庫:(參數(shù)
-A
或者 不加)
mysqldump -u [username] -p[password] [database_name] > backup.sql
截圖如下:
或者如下:
- 僅備份數(shù)據(jù)庫結(jié)構(gòu)(不包含數(shù)據(jù)):(參數(shù)
-d
或者--no-data
)
mysqldump -u [username] -p[password] --no-data [database_name] > structure_backup.sql
截圖如下:
- 僅備份數(shù)據(jù)(不包含結(jié)構(gòu)):(參數(shù)
-t
或者--no-create-info
)
mysqldump -u [username] -p[password] --no-create-info [database_name] > data_backup.sql
截圖如下:
- 指定備份的表:
mysqldump -u [username] -p[password] [database_name] table1 table2 > tables_backup.sql
截圖如下:
- 備份時(shí)包含 CREATE DATABASE 語句:
其中涉及的數(shù)據(jù)庫一定是存在的
mysqldump -u [username] -p[password] --databases [database_name] > backup_with_create.sql
截圖如下:
- 備份多個(gè)數(shù)據(jù)庫:
mysqldump -u [username] -p[password] --databases db1 db2 > multi_db_backup.sql
截圖如下:
- 備份時(shí)添加注釋:
mysqldump -u [username] -p[password] --databases [database_name] --add-drop-database --comments > backup_with_comments.sql
--add-drop-database
: 在創(chuàng)建數(shù)據(jù)庫之前添加 DROP DATABASE IF EXISTS 語句
--comments
: 在備份文件中添加注釋
截圖如下:
- 指定字符集:
mysqldump -u [username] -p[password] --databases [database_name] --default-character-set=utf8 > backup_utf8.sql
--default-character-set
: 指定備份文件的字符集
截圖如下:
3. 拓展
對(duì)于其他數(shù)據(jù)庫的備份,大致的方向差不多
一、PostgreSQL:
使用 pg_dump
命令進(jìn)行備份,同樣可以結(jié)合 cron
進(jìn)行定時(shí)執(zhí)行。
# 這里的 [username] 和 [database_name] 分別替換為你的PostgreSQL用戶名和數(shù)據(jù)庫名。 0 0 * * * pg_dump -U [username] -d [database_name] > /path/to/backup.sql
二、SQL Server:
使用 SQL Server Management Studio (SSMS) 提供的工具或者 SQL Server Agent 來進(jìn)行定時(shí)備份,可以設(shè)置備份作業(yè)并指定定時(shí)執(zhí)行的計(jì)劃。
三、Oracle:
使用 exp
或 expdp
命令進(jìn)行備份,同樣可以結(jié)合計(jì)劃任務(wù)進(jìn)行定時(shí)執(zhí)行。
凌晨執(zhí)行備份:
#這里的 [username]、[password]、[hostname]、[port]、[service_name] 分別替換為你的Oracle用戶名、密碼、主機(jī)名、端口和服務(wù) 0 0 * * * expdp [username]/[password]@//[hostname]:[port]/[service_name] dumpfile=/path/to/backup.dmp
以上就是MySQL使用命令行備份數(shù)據(jù)的方法詳解的詳細(xì)內(nèi)容,更多關(guān)于MySQL命令行備份數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL ERROR 2013 (HY000)錯(cuò)誤解決方法
這篇文章主要介紹了MySQL ERROR 2013 (HY000)錯(cuò)誤解決方法,錯(cuò)誤提示全文ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104,需要的朋友可以參考下2015-01-01my.cnf(my.ini)重要參數(shù)優(yōu)化配置說明
本文針對(duì)mysql不同存儲(chǔ)引擎,MyISAM與Innodb進(jìn)行了講解如何進(jìn)行my.cnf(my.ini)的參數(shù)優(yōu)化2018-03-03MySQL中Update、select聯(lián)用操作單表、多表,及視圖與臨時(shí)表的區(qū)別
本篇文章給大家分享了MySQL中Update、select聯(lián)用操作單表、多表,及視圖與臨時(shí)表的區(qū)別,有興趣的朋友學(xué)習(xí)下吧。2018-06-06Mysql日期格式以及內(nèi)置日期函數(shù)用法詳解
MySQL中有多種數(shù)據(jù)類型可以用于日期和時(shí)間的表示,這篇文章主要給大家介紹了關(guān)于Mysql日期格式以及內(nèi)置日期函數(shù)用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05分享101個(gè)MySQL調(diào)試與優(yōu)化技巧
隨著越來越多的數(shù)據(jù)庫驅(qū)動(dòng)的應(yīng)用程序,人們一直在推動(dòng)MySQL發(fā)展到它的極限。這里是101條調(diào)節(jié)和優(yōu)化MySQL安裝的技巧。一些技巧是針對(duì)特定的安裝環(huán)境的,但這些思路是通用的。我已經(jīng)把他們分成幾類,來幫助你掌握更多MySQL的調(diào)節(jié)和優(yōu)化技巧2017-05-05Mysql觸發(fā)器在PHP項(xiàng)目中用來做信息備份、恢復(fù)和清空
這篇文章主要介紹了Mysql觸發(fā)器在PHP項(xiàng)目中用來做信息備份、恢復(fù)和清空的相關(guān)資料,需要的朋友可以參考下2017-11-11深度解析MySQL啟動(dòng)時(shí)報(bào)“The server quit without up
這篇文章主要介紹了MySQL啟動(dòng)時(shí)報(bào)“The server quit without updating PID file”錯(cuò)誤的原因,需要的朋友可以參考下2017-05-05