介绍
导入和导出数据库是软件开发中常见的任务。您可以使用数据转储来备份和恢复您的信息。您还可以使用它们将数据迁移到新的服务器或开发环境。
在本教程中,您将使用 MySQL 或 MariaDB 中的数据库转储(命令可互换)。具体来说,您将导出一个数据库,然后从转储文件中导入该数据库。
使用 DigitalOcean 托管数据库 一键部署数据库。让 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 计划的一部分收到捐赠。