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

作者选择了 自由和开源基金作为 写给捐款计划的一部分接受捐款。

介绍

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

在本教程中,您将使用 MySQLMariaDB中的数据库垃圾处理(命令可交换)。

前提条件

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

如果您需要一个服务器,请点击这里创建一个运行您最喜欢的Linux发行版的DigitalOcean Droplet(https://www.digitalocean.com/products/droplets/)。创建后,请从 此列表并遵循我们的初始服务器设置指南选择您的发行版。 *安装了MySQL或MariaDB。为了安装MySQL,请遵循我们的教程, 如何安装MySQL

<$>[注] 注: 作为手动安装的替代方案,您可以探索 DigitalOcean Marketplace 的 MySQL One-Click Application

步骤 1 —导出MySQL或MariaDB数据库

mysqldump 控制台实用程序将数据库导出到 SQL 文本文件中,这使数据库更容易传输和移动,您将需要您的数据库的名称和身份证件,以便为您的帐户提供至少完全只读数据库的权限。

使用mysqldump来导出您的数据库:

1mysqldump -u username -p database_name > data-dump.sql
  • username 是您可以使用 登录数据库的用户名 * database_name 是要导出数据库的名称
  • data-dump.sql 是存储输出的当前目录中的文件。

该命令不会产生任何视觉输出,但您可以检查data-dump.sql的内容,以检查它是否是一个合法的 SQL 漏洞文件。

运行以下命令:

1head -n 5 data-dump.sql

文件的顶部应该看起来类似于此,显示一个名为database_name的数据库的MySQL漏洞。

1[secondary_label SQL dump fragment]
2-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64)
3--
4-- Host: localhost Database: database_name
5-- ------------------------------------------------------
6-- Server version 5.7.16-0ubuntu0.16.04.1

如果在导出过程中出现任何错误,‘mysqldump’会将它们打印到屏幕上。

步骤 2 —导入MySQL或MariaDB数据库

要将现有垃圾文件导入 MySQL 或 MariaDB,您需要创建一个新的数据库。

首先,作为 root 登录 MySQL 或其他具有足够权限的用户创建新数据库:

1mysql -u root -p

接下来,使用以下命令创建一个新数据库 在本示例中,新数据库被称为new_database:

1CREATE DATABASE new_database;

您将看到此输出确认数据库创建。

1[secondary_label Output]
2Query OK, 1 row affected (0.00 sec)

然后通过按CTRL+D来退出MySQL壳,从正常的命令行,您可以使用以下命令导入垃圾文件:

1mysql -u username -p new_database < data-dump.sql
  • username 是您可以使用 登录数据库的用户名 * newdatabase 是新创建的数据库 的名称 * data-dump.sql 是要导入的数据卸载文件,位于当前目录

如果命令成功运行,它将不会产生任何输出。如果在流程中出现任何错误,‘mysql’将将其打印到终端,而不是。 要检查导入是否成功,请登录MySQL壳并检查数据。 选择新数据库使用‘USE new_database’,然后使用‘SHOW TABLES;’或类似的命令查看一些数据。

结论

在本教程中,您从 MySQL 或 MariaDB 数据库中创建了一个数据库丢弃物,然后将数据丢弃物导入到新的数据库中。 mysqldump 有额外的设置,您可以使用这些设置来改变系统如何创建数据丢弃物。

要了解更多关于 MySQL 的信息,请参阅我们的 MySQL 资源页面

要了解更多关于 MySQL 查询的信息,请参阅我们的教程 MySQL 查询的介绍

Published At
Categories with 技术
comments powered by Disqus