作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。
介绍
导入和导出数据库是软件开发中的一项常见任务。您可以使用数据转储来备份和恢复您的信息。您还可以使用它们将数据迁移到新服务器或开发环境。
在本教程中,您将使用MySQL或MariaDB 中的数据库转储(这些命令可以互换)。具体来说,您将导出一个数据库,然后从转储文件中导入该数据库。
先决条件
要导入或导出 MySQL 或 MariaDB 数据库,您需要:
- 具有非 root sudo 用户的虚拟机。如果您需要服务器,请到此处创建运行您最喜欢的 Linux 发行版的 DigitalOcean Droplet。创建后,从此列表中选择您的发行版并遵循我们的初始服务器设置指南。
- 已安装 MySQL 或 MariaDB。要安装 MySQL,请按照我们的教程,如何安装 MySQL。要安装 MariaDB,请按照我们的教程如何安装 MariaDB 进行操作。
- 在您的数据库服务器中创建的示例数据库。要创建一个,请按照我们的教程“MySQL 查询简介”中的“创建示例数据库”进行操作。
注意:作为手动安装的替代方法,您可以探索 DigitalOcean Marketplace 的MySQL 一键式应用程序。
步骤 1 — 导出 MySQL 或 MariaDB 数据库
该mysqldump
控制台工具导出数据库SQL文本文件。这使得传输和移动数据库变得更加容易。您将需要您的数据库名称和帐户凭据,该帐户的权限至少允许对数据库进行完全只读访问。
使用mysqldump
导出数据库:
- mysqldump -u username -p database_name > data-dump.sql
username
是您可以登录到数据库的用户名database_name
是要导出的数据库的名称data-dump.sql
是当前目录中存储输出的文件。
该命令不会产生任何视觉输出,但您可以检查 的内容data-dump.sql
以检查它是否是合法的 SQL 转储文件。
运行以下命令:
- head -n 5 data-dump.sql
该文件的顶部应该与此类似,显示名为 .xml 的数据库的 MySQL 转储database_name
。
SQL dump fragment-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost Database: database_name
-- ------------------------------------------------------
-- Server version 5.7.16-0ubuntu0.16.04.1
如果在导出过程中发生任何错误,mysqldump
会将它们打印到屏幕上。
第 2 步 – 导入 MySQL 或 MariaDB 数据库
要将现有转储文件导入 MySQL 或 MariaDB,您必须创建一个新数据库。该数据库将保存导入的数据。
首先,以root或其他具有足够权限的用户身份登录 MySQL以创建新数据库:
- mysql -u root -p
此命令将带您进入 MySQL shell 提示符。接下来,使用以下命令创建一个新数据库。在这个例子中,新数据库被称为new_database
:
- CREATE DATABASE new_database;
您将看到此输出确认数据库创建。
OutputQuery OK, 1 row affected (0.00 sec)
然后按 退出 MySQL shell CTRL+D
。从普通命令行,您可以使用以下命令导入转储文件:
- mysql -u username -p new_database < data-dump.sql
username
是您可以登录到数据库的用户名newdatabase
是新创建的数据库的名称data-dump.sql
是要导入的数据转储文件,位于当前目录
如果命令成功运行,它将不会产生任何输出。如果在此过程中发生任何错误,mysql
则将它们打印到终端。要检查导入是否成功,请登录 MySQL shell 并检查数据。选择新数据库,然后使用或类似的命令查看一些数据。USE new_database
SHOW TABLES;
结论
在本教程中,您从 MySQL 或 MariaDB 数据库创建了数据库转储。然后将该数据转储导入到新数据库中。mysqldump
具有可用于更改系统创建数据转储方式的其他设置。您可以从官方 mysqldump 文档页面了解更多信息。
要了解有关 MySQL 的更多信息,请查看我们的MySQL 资源页面。