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

能够导入和导出数据库是一个重要的技能。您可以使用数据转储进行备份和恢复,以便在紧急情况下恢复数据库的旧副本,或者可以使用它们将数据迁移到新的服务器或开发环境。本教程将介绍如何导出数据库以及从MySQL和MariaDB中的转储文件导入数据库。

介绍

能够导入和导出数据库是一个重要的技能。您可以使用数据转储进行备份和恢复,以便在紧急情况下恢复数据库的旧副本,或者可以使用它们将数据迁移到新的服务器或开发环境。 在MySQL和MariaDB中使用数据库转储是很简单的。本教程将介绍如何导出数据库以及从MySQL和MariaDB中的转储文件导入数据库。

先决条件

要导入和/或导出MySQL或MariaDB数据库,您需要:
  • 访问运行MySQL或MariaDB的Linux服务器
  • 数据库名称和用户凭据

导出数据库

mysqldump控制台实用程序用于数据库导出到SQL文本文件。这些文件可以轻松地传输和移动。您将需要数据库名称本身以及具有允许至少完全只读访问数据库的权限的帐户的用户名和密码。 使用以下命令导出数据库。
mysqldump -u username -p database_name > data-dump.sql
  • username是您可以登录到数据库的用户名
  • database_name是将要导出的数据库的名称
  • data-dump.sql是在当前目录中的文件,该输出将被保存到
该命令将不产生视觉输出,但你可以检查的内容filename.sql来检查它是否是通过使用一个合法的SQL转储文件:
head -n 5 data-dump.sql
该文件的开头应类似于此,提的是,这是一个MySQL转储数据库命名的database_name
-- 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将明确把它们打印到屏幕上,而不是。

导入数据库

要将现有转储文件导入MySQL或MariaDB,您必须创建新数据库。这是将导入转储文件的内容的位置。 首先,登录到数据库root或具有足够的权限其他用户创建新的数据库。
mysql -u root -p
这将带你进入MySQL shell提示符。接下来,创建一个名为新的数据库new_database
CREATE DATABASE new_database;
您将看到此输出,确认它已创建。
Query OK, 1 row affected (0.00 sec)
现在按退出MySQL外壳中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数据库创建数据库转储以及如何重新导入它们。mysqldump具有可用于改变如何创建转储多个额外的设置,您可以了解更多关于从官方mysqldump的文档页面