介紹
在軟體開發中,導入和導出數據庫是一個常見的任務。您可以使用數據備份來備份和還原您的信息。您還可以使用它們將數據遷移到新的服務器或開發環境中。
在本教程中,您將使用 MySQL 或 MariaDB(命令可互換)中的數據庫備份。具體來說,您將導出一個數據庫,然後從備份文件中導入該數據庫。
使用 DigitalOcean Managed Databases 一鍵部署數據庫。讓 DigitalOcean 專注於為您的數據庫進行擴展、維護和升級。
先決條件
要導入或導出 MySQL 或 MariaDB 數據庫,您需要:
- A virtual machine with a non-root sudo user. If you need a server, go here to create a DigitalOcean Droplet running your favorite Linux distribution. After creation, choose your distribution from this list and follow our Initial Server Setup Guide.
- 已安裝 MySQL 或 MariaDB。要安裝 MySQL,請參考我們的教程 如何安裝 MySQL。要安裝 MariaDB,請參考我們的教程 如何安裝 MariaDB。
- A sample database created in your database server. To create one, follow “Creating a Sample Database” in our tutorial, “An Introduction to Queries in MySQL”.
注意:作為手動安裝的替代方案,您可以探索DigitalOcean Marketplace的MySQL一鍵應用程式。
步驟1 — 匯出MySQL或MariaDB數據庫
mysqldump
控制台實用程序將數據庫匯出為SQL文本文件。這樣可以更輕鬆地傳輸和移動數據庫。您將需要您數據庫的名稱和帳戶憑據,這個帳戶的權限至少需要完全的只讀訪問權限到數據庫。
使用mysqldump
導出您的數據庫:
username
是您可以使用的數據庫的用戶名database_name
是要導出的數據庫的名稱data-dump.sql
是存儲輸出的當前目錄中的文件。
該命令將不會產生可視輸出,但您可以檢查data-dump.sql
的內容,以確保它是一個合法的SQL匯出文件。
運行以下命令:
文件頂部應該類似於此,顯示了一個名為database_name
的數據庫的MySQL匯出。
SQL dump fragment-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64)
--
-- 主機:localhost 數據庫:database_name
-- ------------------------------------------------------
-- 服務器版本 5.7.16-0ubuntu0.16.04.1
如果在导出过程中发生任何错误,mysqldump
会将它们打印到屏幕上。
步骤2 — 导入 MySQL 或 MariaDB 数据库
要将现有的转储文件导入到 MySQL 或 MariaDB,您将需要创建一个新的数据库。这个数据库将保存导入的数据。
首先,以 root 或具有足够权限创建新数据库的其他用户身份登录到 MySQL:
此命令将带您进入 MySQL shell 提示符。接下来,使用以下命令创建一个新的数据库。在本例中,新数据库被称为 new_database
:
您将看到此输出确认数据库创建。
OutputQuery OK, 1 row affected (0.00 sec)
然后通过按下 CTRL+D
退出 MySQL shell。从正常的命令行,您可以使用以下命令导入转储文件:
username
是您可以使用登录到数据库的用户名newdatabase
是新创建的数据库的名称data-dump.sql
是要导入的数据转储文件,位于当前目录
如果命令成功运行,它将不会生成任何输出。如果在过程中发生任何错误,mysql
将会将它们打印到终端。要检查导入是否成功,请登录到 MySQL shell 并检查数据。使用 USE new_database
选择新数据库,然后使用 SHOW TABLES;
或类似的命令查看一些数据。
结论
在本教程中,您从 MySQL 或 MariaDB 数据库创建了一个数据库转储。然后将该数据转储导入到了一个新数据库中。mysqldump
还有其他设置,您可以使用这些设置来更改系统创建数据转储的方式。您可以从官方 mysqldump 文档页面了解更多信息。
要了解更多关于 MySQL 的信息,请查看我们的MySQL 资源页面。
要了解更多关于 MySQL 查询的信息,请查看我们的教程“MySQL 查询入门”。
作者选择了自由开源基金作为Write for DOnations计划的一部分进行捐赠。