mysqldump是MySQL數(shù)據(jù)庫(kù)提供的一個(gè)命令行工具,用于備份和恢復(fù)MySQL數(shù)據(jù)庫(kù)。它可以導(dǎo)出數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),以便在需要時(shí)可以輕松地恢復(fù)數(shù)據(jù)。

下面是一些常見(jiàn)的mysqldump用法示例:
備份整個(gè)數(shù)據(jù)庫(kù):
mysqldump -u username -p password database_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并將其保存在backup.sql文件中。
備份多個(gè)數(shù)據(jù)庫(kù):
mysqldump -u username -p password --databases database1 database2 database3 > backup.sql
這將導(dǎo)出database1、database2和database3三個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并保存在backup.sql文件中。
備份所有數(shù)據(jù)庫(kù):
mysqldump -u username -p password --all-databases > backup.sql
這將導(dǎo)出所有數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并保存在backup.sql文件中。
備份特定的表:
mysqldump -u username -p password database_name table1 table2 > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)中的table1和table2兩個(gè)表的結(jié)構(gòu)和數(shù)據(jù),并保存在backup.sql文件中。
備份數(shù)據(jù)庫(kù)結(jié)構(gòu)但不包括數(shù)據(jù):
mysqldump -u username -p password --no-data database_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu),但不包括其中的數(shù)據(jù),并保存在backup.sql文件中。
備份數(shù)據(jù)庫(kù)數(shù)據(jù)但不包括結(jié)構(gòu):
mysqldump -u username -p password --no-create-info database_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的數(shù)據(jù),但不包括表結(jié)構(gòu),并保存在backup.sql文件中。
備份數(shù)據(jù)庫(kù)結(jié)構(gòu)和數(shù)據(jù),但跳過(guò)指定的表:
mysqldump -u username -p password --ignore-table=database_name.table_name database_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),但跳過(guò)名為table_name的表,并保存在backup.sql文件中。
以gzip壓縮格式備份數(shù)據(jù)庫(kù):
mysqldump -u username -p password database_name | gzip > backup.sql.gz
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并使用gzip壓縮,最終保存在backup.sql.gz文件中。
僅備份數(shù)據(jù)庫(kù)結(jié)構(gòu),以CREATE語(yǔ)句形式顯示:
mysqldump -u username -p password --no-data --skip-comments database_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu),并以CREATE語(yǔ)句的形式顯示,不包括數(shù)據(jù),并保存在backup.sql文件中。
僅備份數(shù)據(jù)庫(kù)數(shù)據(jù),以INSERT語(yǔ)句形式顯示:
mysqldump -u username -p password --no-create-info --skip-comments database_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的數(shù)據(jù),并以INSERT語(yǔ)句的形式顯示,不包括表結(jié)構(gòu),并保存在backup.sql文件中。
備份特定表的數(shù)據(jù),以INSERT語(yǔ)句形式顯示:
mysqldump -u username -p password --no-create-info --skip-comments database_name table_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)中table_name表的數(shù)據(jù),并以INSERT語(yǔ)句的形式顯示,不包括表結(jié)構(gòu),并保存在backup.sql文件中。
備份數(shù)據(jù)庫(kù)為XML格式:
mysqldump -u username -p password --xml database_name > backup.xml
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并保存為XML格式的文件backup.xml。
備份數(shù)據(jù)庫(kù)為CSV格式:
mysqldump -u username -p password --tab=/path/to/output/folder database_name
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并將數(shù)據(jù)以CSV格式保存在指定的文件夾/path/to/output/folder中。
- 備份數(shù)據(jù)庫(kù)為SQL格式,并指定編碼:
mysqldump -u username -p password --default-character-set=utf8 database_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并將其保存在backup.sql文件中,使用UTF-8編碼。
備份指定日期之后的數(shù)據(jù):
mysqldump -u username -p password --where="date_column >= '2022-01-01'" database_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)中date_column列大于等于2022-01-01的數(shù)據(jù),并將其保存在backup.sql文件中。
備份數(shù)據(jù)庫(kù)并壓縮成tar文件:
mysqldump -u username -p password database_name | tar -czvf backup.tar.gz -C /path/to/output/folder/
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并使用tar和gzip壓縮,最終將備份文件保存在/path/to/output/folder/目錄中的backup.tar.gz文件中。
從備份文件恢復(fù)數(shù)據(jù)庫(kù):
mysql -u username -p password database_name < backup.sql
這將從backup.sql備份文件中恢復(fù)數(shù)據(jù)到database_name數(shù)據(jù)庫(kù)中。
從壓縮的備份文件恢復(fù)數(shù)據(jù)庫(kù):
gunzip < backup.sql.gz | mysql -u username -p password database_name
這將從gzip壓縮的backup.sql.gz備份文件中解壓縮并恢復(fù)數(shù)據(jù)到database_name數(shù)據(jù)庫(kù)中。
使用遠(yuǎn)程服務(wù)器進(jìn)行備份:
mysqldump -h remote_host -u username -p password database_name > backup.sql
這將使用遠(yuǎn)程MySQL服務(wù)器進(jìn)行備份,其中remote_host是遠(yuǎn)程服務(wù)器的主機(jī)名或IP地址。
使用ssh隧道進(jìn)行備份:
制ssh user@remote_host "mysqldump -u username -p password database_name" > backup.sql
這將通過(guò)ssh隧道連接到遠(yuǎn)程服務(wù)器,然后在遠(yuǎn)程服務(wù)器上執(zhí)行mysqldump命令,并將備份數(shù)據(jù)導(dǎo)出到本地的backup.sql文件中。
備份數(shù)據(jù)庫(kù)并指定每個(gè)插入語(yǔ)句的行數(shù):
mysqldump -u username -p password --insert-ignore --extended-insert=FALSE --max-insert-length=1000 database_name > backup.sql
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并將每個(gè)插入語(yǔ)句的行數(shù)限制為1000行,并且忽略重復(fù)的插入語(yǔ)句。
備份數(shù)據(jù)庫(kù)并指定備份級(jí)別:
mysqldump -u username -p password --single-transaction --master-data=2 database_name > backup.sql
這將以事務(wù)的方式備份database_name數(shù)據(jù)庫(kù),并生成一個(gè)帶有二進(jìn)制日志文件和位置信息的備份文件。
備份數(shù)據(jù)庫(kù)并同時(shí)輸出備份進(jìn)度:
mysqldump -u username -p password --verbose database_name > backup.sql
這將以詳細(xì)模式備份database_name數(shù)據(jù)庫(kù),并在備份過(guò)程中顯示進(jìn)度信息。
備份數(shù)據(jù)庫(kù)并自動(dòng)壓縮成zip文件:
mysqldump -u username -p password database_name | zip > backup.zip
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并使用zip壓縮,最終保存在backup.zip文件中。
備份數(shù)據(jù)庫(kù)并將結(jié)果發(fā)送到電子郵件:
mysqldump -u username -p password database_name | mail -s "Database Backup" recipient@example.com
這將導(dǎo)出database_name數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù),并通過(guò)電子郵件發(fā)送給指定的收件人。這些示例涵蓋了一些常見(jiàn)的mysqldump用法,你可以根據(jù)自己的需求進(jìn)行調(diào)整和擴(kuò)展。請(qǐng)注意,在實(shí)際使用中,應(yīng)根據(jù)需要選擇適當(dāng)?shù)倪x項(xiàng),并確保對(duì)備份文件的存儲(chǔ)和保護(hù)進(jìn)行妥善管理。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至2705686032@qq.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。文章鏈接:http://m.z1146.cn/zx/yunwei/4251.html