如何在MySQL或MariaDB中导入和导出数据库

来自菜鸟教程
跳转至:导航、​搜索

作为 Write for DOnations 计划的一部分,作者选择了 Free and Open Source Fund 来接受捐赠。

介绍

导入和导出数据库是软件开发中的常见任务。 您可以使用数据转储来备份和恢复您的信息。 您还可以使用它们将数据迁移到新的服务器或开发环境。

在本教程中,您将使用 MySQLMariaDB 中的数据库转储(命令可互换)。 具体来说,您将导出一个数据库,然后从转储文件中导入该数据库。

先决条件

要导入或导出 MySQL 或 MariaDB 数据库,您需要:

注意: 作为手动安装的替代方案,您可以探索 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

文件的顶部应与此类似,显示名为 database_name 的数据库的 MySQL 转储。

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)

然后按 CTRL+D 退出 MySQL shell。 从普通命令行,您可以使用以下命令导入转储文件:

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 资源页面

要了解有关 MySQL 查询的更多信息,请查看我们的教程 “MySQL 查询简介”