介绍
能够导入和导出数据库是一个重要的技能。您可以使用数据转储进行备份和恢复,以便在紧急情况下恢复数据库的旧副本,或者可以使用它们将数据迁移到新的服务器或开发环境。 在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
。
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
将明确把它们打印到屏幕上,而不是。
导入数据库
要将现有转储文件导入MySQL或MariaDB,您必须创建新数据库。这是将导入转储文件的内容的位置。 首先,登录到数据库
root或具有足够的权限其他用户创建新的数据库。
mysql -u root -p
这将带你进入MySQL shell提示符。接下来,创建一个名为新的数据库
new_database
。
CREATE DATABASE new_database;
您将看到此输出,确认它已创建。
OutputQuery 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的文档页面 。