您可能需要學習如何執行 MySQL 導出的幾個原因。不相信?檢查這些。
- 也許您對當前的托管服務提供商不滿意,并希望切換到更好的網絡托管服務商。建議:使用網站構建器可以讓您更靈活地控制網站設計,從而增強您的托管體驗并減少以后切換主機的需要。Yourwebsite提供數百個主題、插件等等。
- 也許您有興趣備份您的數據庫。但是,您應該注意,如果數據非常大,這可能需要很長時間。
- 可能涉及第三方MySQL 數據庫。這意味著您要跨 SQL 平臺遷移(例如,從 Microsoft SQL Server 遷移到 Oracle 數據庫)。
無論您出于何種原因,有幾種方法可以執行MySQL 導出。一個是通過 cPanel 中的phpMyAdmin選項卡,另一個是使用mysqldump。今天,您將學習如何使用 mysqldump 方法。
mysqldump 程序
當您創建數據庫的副本時,您將執行轉儲。mysqldump 是一個使用邏輯備份來備份數據庫的程序。邏輯備份是備份數據庫內容以外的所有內容的備份。mysqldump 的工作原理是將當前數據庫縮減為SQL 語句,然后您可以在不同的位置運行這些語句來重建數據庫。
mysqldump的優點
- 此方法的一個優點是您可以在還原輸出文件之前對其進行編輯。這意味著導出的文件不必以其原始形式導入。
- 調用語法允許您轉儲單個或多個表、一個或多個整個數據庫,甚至整個 MySQL 數據庫。
- 如果您在導出的文件中檢測到問題,調試功能允許您將調試信息包含到備份語句中。此外,如果問題具有抑制轉儲的性質,您可以輕松克服這些問題并強制轉儲。
- 對于那些可能需要從第三方導出 MySQL 的人來說,一個很好的選擇是允許您使用外語字符功能的國際化功能。
使用命令行執行 MySQL 導出
1.導出單個數據庫:
- 訪問命令行
- 輸入以下命令,其中“username”代表您的用戶名,“dbname”代表您要導出的數據庫的名稱,“newspot.sql”代表接收 MySQL 導出的位置:
mysqldump -u 用戶名 -p 數據庫名 > newspot.sql
- 輸入您的密碼
您的 MySQL 導出文件現已準備就緒。
2.導出多個數據庫:
如前所述,您可以同時導出多個數據庫。為此,您需要輸入所有要導出的數據庫(在下面的示例中,我們有兩個 MySQL 導出數據庫)。使用空格將它們分開。
所需的命令提示符是:
mysqldump -u 用戶名 -p --databases database_1 數據庫_2 > newdatabasespot.sql
創建 .sql 文件后,它將包含兩個數據庫。
3. 導出所有數據庫:
與前面的示例不同,如果您希望導出或備份所有 MySQL 數據庫,則不需要輸入所有名稱。以下命令提示符將完成工作:
mysqldump -u root -p --all-databases > newdatabasesot.sql
同樣,將創建一個包含所有 MySQL 數據庫的 .sql 文件。
如果要導出到多個文件,可以考慮添加一個 bash for 循環。
確認 MySQL 導出
因為沒有視覺提示表明文件已被導出,所以您需要檢查。你可以:
- 運行以下命令確認是否執行了轉儲:head -n 5 data-dump.sql。結果應顯示已執行 SQL 轉儲,以及將其導出到的位置。
- 物理檢查指定文件夾中的 .sql 文件
使用您的 MySQL 導出文件
雖然您創建備份的原因在很大程度上決定了您使用該文件的目的,但主要原因之一是出于遷移目的。因此,您需要知道如何導入新創建的 .sql 文件。您也可以使用命令行來幫助解決這個問題。您需要的程序是 mysqlimport。它通過填充表的內容來重新創建數據庫來工作。
概括
在備份/導出/轉儲數據庫時,您可以選擇。使用命令行是這些選項之一。
執行導出的命令提示符是:
導出一個數據庫:?mysqldump -u username -p dbname > newspot.sql
導出多個數據庫:?mysqldump -u username -p –databases database_1 database_2 > newdatabasespot.sql
導出所有數據庫:?mysqldump -u root -p –all-databases > newdatabasesot.sql