中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么備份和恢復MySQL數據庫

發布時間:2021-08-09 14:30:16 來源:億速云 閱讀:181 作者:chen 欄目:MySQL數據庫

這篇文章主要介紹“怎么備份和恢復MySQL數據庫”,在日常操作中,相信很多人在怎么備份和恢復MySQL數據庫問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么備份和恢復MySQL數據庫”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

本教程介紹如何使用mysqldump實用程序從命令行備份和還原MySQL或MariaDB數據庫,mysqldump實用程序創建的備份文件基本上是一組可用于重新創建原始數據庫的SQL語句,如果不備份數據庫,則軟件錯誤或硬盤驅動器故障可能是災難性的。為了幫助您節省大量時間和挫折,強烈建議您采取預防措施,定期備份MySQL數據庫。

您還可以使用mysqldump實用程序將MySQL數據庫傳輸到另一個MySQL服務器。Mysqldump命令語法,在介紹如何使用mysqldump命令之前,讓我們先回顧一下基本語法。mysqldump實用程序表達式采用以下形式:

mysqldump [options] > file.sql
options - mysqldump選項
file.sql - 轉儲(備份)文件

備份單個MySQL數據庫
要使用root用戶創建名為database_name的數據庫的備份并將其保存到名為database_name.sql的文件,您將運行以下命令:
mysqldump -u root -p database_name > database_name.sql
系統將提示您輸入root密碼。輸入它,按Enter鍵,轉儲過程將開始。根據數據庫大小,該過程可能需要一些時間。
如果您以用于執行導出的同一用戶身份登錄,并且該用戶不需要密碼,則可以省略-u和-p選項:
mysqldump database_name > database_name.sql
備份多個MySQL數據庫

要使用一個命令備份多個MySQL數據庫,您需要使用--database選項,后跟要備份的數據庫列表。每個數據庫名稱必須用空格分隔。
mysqldump -u root -p --database database_name_a database_name_b > databases_a_b.sql
上面的命令將創建一個包含兩個數據庫的轉儲文件。
備份所有MySQL數據庫,要備份所有MySQL數據庫,您將使用--all-databases選項:
mysqldump -u root -p --all-databases > all_databases.sql
與上一個示例相同,上面的命令將創建一個包含所有數據庫的轉儲文件。
將所有MySQL數據庫備份到單獨的文件
mysqldump實用程序不提供將所有數據庫備份為單獨文件的選項,但我們可以通過簡單的bash FOR循環輕松實現:
for DB in $(mysql -e 'show databases' -s --skip-column-names); do
mysqldump $DB > "$DB.sql";
done
上面的命令將使用數據庫名稱作為文件名創建所有數據庫的單獨轉儲文件。
創建壓縮的MySQL數據庫備份
如果數據庫大小非常大,則壓縮輸出是個好主意。為此,只需將輸出管道傳輸到gzip實用程序,然后將其重定向到文件,如下所示:
mysqldump database_name > | gzip > database_name.sql.gz
使用時間戳創建備份
如果要在同一位置保留多個備份,則需要將日期添加到備份文件名:
mysqldump database_name > database_name-$(date +%Y%m%d).sql
上面的命令將創建一個具有以下格式的文件database_name-20180617.sql 
如果您使用cronjob自動執行數據庫備份,那么您還可以使用以下命令刪除超過30天的任何備份:
find /path/to/backups -type f -name "*.sql" -mtime +30 -delete
當然,您需要根據備份位置和文件名調整命令。要了解有關find命令的更多信息,請使用命令行指南檢查我們如何在Linux中查找文件。

恢復MySQL轉儲
您可以使用mysql工具恢復MySQL轉儲。在大多數情況下,您需要創建要導入的 數據庫。如果數據庫已經存在,則需要將其刪除。
在以下示例中,第一個命令將創建名為database_name的數據庫,然后將dump database_name.sql導入其中:
mysql -u root -p -e "create database database_name";
mysql -u root -p database_name < database_name.sql
從完整的MySQL轉儲還原單個 MySQL數據庫,如果使用-all-databases選項備份所有數據庫,并且要從包含多個數據庫的備份文件還原單個數據庫,請使用--one-database選項,如圖所示婁:
mysql --one-database database_name < all_databases.sql

在一個命令中導出和導入MySQL數據庫,而不是從一個數據庫創建轉儲文件,然后將備份導入另一個MySQL數據庫,您可以使用以下單行:
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
上面的命令會將輸出傳遞給 遠程主機上的mysql客戶端,并將其導入名為remote_database_name的數據庫中。在運行該命令之前,請確保遠程服務器上已存在該數據庫。

到此,關于“怎么備份和恢復MySQL數據庫”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中江县| 富平县| 贺州市| 磐石市| 财经| 麻阳| 阿拉善右旗| 会昌县| 彰武县| 莱西市| 远安县| 永胜县| 通辽市| 宁蒗| 临夏县| 获嘉县| 马山县| 开化县| 石台县| 马公市| 汉阴县| 城固县| 依兰县| 榆中县| 杭锦旗| 开平市| 吐鲁番市| 宣威市| 霍林郭勒市| 宁化县| 平遥县| 瑞金市| 威信县| 儋州市| 民权县| 扶沟县| 蒙阴县| 靖州| 罗山县| 安图县| 汽车|