天天看點

mysql資料庫備份工具mysqldump常見用法示例

作者:運維開發木子李

#頭條創作挑戰賽#

mysqldump是MySQL資料庫提供的一個指令行工具,用于備份和恢複MySQL資料庫。它可以導出資料庫的結構和資料,以便在需要時可以輕松地恢複資料。

mysql資料庫備份工具mysqldump常見用法示例

下面是一些常見的mysqldump用法示例:

備份整個資料庫:

mysqldump -u username -p password database_name > backup.sql           

這将導出database_name資料庫的結構和資料,并将其儲存在backup.sql檔案中。

備份多個資料庫:

mysqldump -u username -p password --databases database1 database2 database3 > backup.sql           

這将導出database1、database2和database3三個資料庫的結構和資料,并儲存在backup.sql檔案中。

備份所有資料庫:

mysqldump -u username -p password --all-databases > backup.sql           

這将導出所有資料庫的結構和資料,并儲存在backup.sql檔案中。

備份特定的表:

mysqldump -u username -p password database_name table1 table2 > backup.sql           

這将導出database_name資料庫中的table1和table2兩個表的結構和資料,并儲存在backup.sql檔案中。

備份資料庫結構但不包括資料:

mysqldump -u username -p password --no-data database_name > backup.sql           

這将導出database_name資料庫的結構,但不包括其中的資料,并儲存在backup.sql檔案中。

備份資料庫資料但不包括結構:

mysqldump -u username -p password --no-create-info database_name > backup.sql           

這将導出database_name資料庫的資料,但不包括表結構,并儲存在backup.sql檔案中。

備份資料庫結構和資料,但跳過指定的表:

mysqldump -u username -p password --ignore-table=database_name.table_name database_name > backup.sql           

這将導出database_name資料庫的結構和資料,但跳過名為table_name的表,并儲存在backup.sql檔案中。

以gzip壓縮格式備份資料庫:

mysqldump -u username -p password database_name | gzip > backup.sql.gz           

這将導出database_name資料庫的結構和資料,并使用gzip壓縮,最終儲存在backup.sql.gz檔案中。

僅備份資料庫結構,以CREATE語句形式顯示:

mysqldump -u username -p password --no-data --skip-comments database_name > backup.sql           

這将導出database_name資料庫的結構,并以CREATE語句的形式顯示,不包括資料,并儲存在backup.sql檔案中。

僅備份資料庫資料,以INSERT語句形式顯示:

mysqldump -u username -p password --no-create-info --skip-comments database_name > backup.sql           

這将導出database_name資料庫的資料,并以INSERT語句的形式顯示,不包括表結構,并儲存在backup.sql檔案中。

備份特定表的資料,以INSERT語句形式顯示:

mysqldump -u username -p password --no-create-info --skip-comments database_name table_name > backup.sql           

這将導出database_name資料庫中table_name表的資料,并以INSERT語句的形式顯示,不包括表結構,并儲存在backup.sql檔案中。

備份資料庫為XML格式:

mysqldump -u username -p password --xml database_name > backup.xml           

這将導出database_name資料庫的結構和資料,并儲存為XML格式的檔案backup.xml。

備份資料庫為CSV格式:

mysqldump -u username -p password --tab=/path/to/output/folder database_name           

這将導出database_name資料庫的結構和資料,并将資料以CSV格式儲存在指定的檔案夾/path/to/output/folder中。

  1. 備份資料庫為SQL格式,并指定編碼:
mysqldump -u username -p password --default-character-set=utf8 database_name > backup.sql           

這将導出database_name資料庫的結構和資料,并将其儲存在backup.sql檔案中,使用UTF-8編碼。

備份指定日期之後的資料:

mysqldump -u username -p password --where="date_column >= '2022-01-01'" database_name > backup.sql           

這将導出database_name資料庫中date_column列大于等于2022-01-01的資料,并将其儲存在backup.sql檔案中。

備份資料庫并壓縮成tar檔案:

mysqldump -u username -p password database_name | tar -czvf backup.tar.gz -C /path/to/output/folder/           

這将導出database_name資料庫的結構和資料,并使用tar和gzip壓縮,最終将備份檔案儲存在/path/to/output/folder/目錄中的backup.tar.gz檔案中。

從備份檔案恢複資料庫:

mysql -u username -p password database_name < backup.sql           

這将從backup.sql備份檔案中恢複資料到database_name資料庫中。

從壓縮的備份檔案恢複資料庫:

gunzip < backup.sql.gz | mysql -u username -p password database_name           

這将從gzip壓縮的backup.sql.gz備份檔案中解壓縮并恢複資料到database_name資料庫中。

使用遠端伺服器進行備份:

mysqldump -h remote_host -u username -p password database_name > backup.sql           

這将使用遠端MySQL伺服器進行備份,其中remote_host是遠端伺服器的主機名或IP位址。

使用ssh隧道進行備份:

制ssh user@remote_host "mysqldump -u username -p password database_name" > backup.sql           

這将通過ssh隧道連接配接到遠端伺服器,然後在遠端伺服器上執行mysqldump指令,并将備份資料導出到本地的backup.sql檔案中。

備份資料庫并指定每個插入語句的行數:

mysqldump -u username -p password --insert-ignore --extended-insert=FALSE --max-insert-length=1000 database_name > backup.sql           

這将導出database_name資料庫的結構和資料,并将每個插入語句的行數限制為1000行,并且忽略重複的插入語句。

備份資料庫并指定備份級别:

mysqldump -u username -p password --single-transaction --master-data=2 database_name > backup.sql           

這将以事務的方式備份database_name資料庫,并生成一個帶有二進制日志檔案和位置資訊的備份檔案。

備份資料庫并同時輸出備份進度:

mysqldump -u username -p password --verbose database_name > backup.sql           

這将以詳細模式備份database_name資料庫,并在備份過程中顯示進度資訊。

備份資料庫并自動壓縮成zip檔案:

mysqldump -u username -p password database_name | zip > backup.zip           

這将導出database_name資料庫的結構和資料,并使用zip壓縮,最終儲存在backup.zip檔案中。

備份資料庫并将結果發送到電子郵件:

mysqldump -u username -p password database_name | mail -s "Database Backup" [email protected]           

這将導出database_name資料庫的結構和資料,并通過電子郵件發送給指定的收件人。這些示例涵蓋了一些常見的mysqldump用法,你可以根據自己的需求進行調整和擴充。請注意,在實際使用中,應根據需要選擇适當的選項,并確定對備份檔案的存儲和保護進行妥善管理。

繼續閱讀