📜  MySQL导出和导入数据库

📅  最后修改于: 2020-11-19 00:43:06             🧑  作者: Mango

MySQL导出和导入数据库

我们如何在MySQL中导出和导入数据库?

MySQL中的数据库导出和导入是将数据从一个位置移动到另一位置的过程。导出和导入是备份基本数据或在不同版本之间传输我们的数据的有用方法。例如,我们有一个对我们的业务至关重要的通讯录数据库。有必要将其保存在安全的地方。因此,我们需要将其导出到一个安全的地方,每当它从原始位置丢失时,我们都可以使用导入选项将其还原。

在MySQL中,我们可以通过两种方式导出和导入数据库:

  • 命令行工具
  • MySQL工作台

让我们详细讨论数据库导出和导入的两种方式。

MySQL导出数据库

命令行工具

在这里,我们将看到数据库导出,包括使用命令行工具的表。因此,请使用用户名和密码打开命令行工具,然后执行以下步骤:

步骤1:执行以下语句以显示MySQL Server上所有可用的数据库。

mysql> SHOW DATABASES;

我们将得到以下输出:

步骤2:从上述数据库中,我们将获取一个名为“ mytestdb”的数据库,其中包含下表:

步骤3:在存储数据库的计算机上访问命令行。如果您对计算机具有物理访问权限,则可以打开DOS或终端窗口来访问命令行。例如,如果我们将MySQL安装在C文件夹中,则复制以下文件夹并将其粘贴到DOS命令中。现在,按Enter键。

C:\Users\javatpoint> CD C:\Program Files\MySQL\MySQL Server 8.0\bin

步骤4:现在,我们将使用mysqldump工具导出数据库。该工具使用MySQL用户的登录凭据进行操作。以下命令用于将数据库导出到所需位置。

$ mysqldump -u username -p database_name > desiredplace\dbname.sql

-u:确保将遵循MySQL用户名。用户名:这是我们可以登录数据库的用户名。 -p:确保与用户名关联的密码。 database_name:这是我们要导出的数据库的名称。 >:它确保输出位置。 requiredplace \ dbname.sql:期望的位置是我们要导出的文件夹,而dbname.sql是用于保存输出的文件。

在下面的语句中,我们将提供用户名:root,数据库名称:mytestdb,文件夹名称:BackupFile和输出数据库名称:testdb.sql。现在,按Enter键。

mysqldump -u root -p mytestdb > D:\BackupFile\testdb.sql

步骤5:按Enter键后,它将询问我们指定的用户名的密码。然后,再次按Enter键。它将在指定位置创建带有.sql后缀的备份文件。我们将获得以下输出,这意味着数据库已成功导出:

最后,我们可以验证导出数据库,包括指定文件夹中的表。

MySQL工作台

在这里,我们将看到数据库导出,包括使用MySQL Workbench的表。因此,打开工作台并输入用户名的密码。

步骤1:转到菜单栏,然后单击服务器。出现一个弹出屏幕,然后选择“数据导出”选项,如该屏幕所示。它将打开一个新的数据导出设置和选项窗口。

步骤2:选择所需的任何数据库。还将在窗口左侧显示相应的表。在这里,我们将选择mytestdb数据库。我们还可以选择多个数据库复选框以将数据库包括在“导出”文件中。同样,我们可以选择多个表。

步骤3:选择数据库(包括所有表)后,转到下拉设置,然后选择任何可用选项。

  • 转储数据和结构:它将保存表结构和数据行。
  • 仅转储数据:它将仅保存表中插入的行。
  • 仅转储结构:它将仅保存表结构,即我们定义的数据库列和数据类型。

步骤4:在Export(导出)选项中,我们可以看到下面说明的两个单选按钮。

  • 导出到转储项目文件夹:它将所有表保存为单独的SQL文件,放在一个文件夹下。当您一张一张地导入或还原导出文件时,它将很有用。
  • 导出到自包含文件:它将所有数据库和表存储在单个SQL文件中。当您要使用单个SQL文件导入所有数据库,表和数据行时,这是一个不错的选择。

我们可以选择我们选择的导出路径。在这里,我将保留默认设置。

步骤5:单击Start Export(开始导出)按钮,显示进度条和日志。现在,我们可以验证系统中Document文件夹中的导出文件。

MySQL导入数据库

命令行工具

在这里,我们将看到数据库导入,包括使用命令行工具进行的表导入。因此,请使用用户名和密码打开命令行工具,然后执行以下步骤:

步骤1:使用以下语句创建一个名为“ mytestdb_copy”的空白数据库:

mysql> CREATE DATABASE mytestdb_copy;

步骤2:接下来,我们需要执行以下命令来验证它没有任何表。

mysql> USE mytestdb_copy;
mysql> SHOW TABLES;

我们可以看到以下输出:

步骤3:在存储数据库的计算机上访问命令行。如果您对计算机具有物理访问权限,则可以打开DOS或终端窗口来访问命令行。例如,如果我们在C文件夹中安装了MySQL,则复制以下文件夹链接并将其粘贴到DOS命令中。现在,按Enter键。

C:\Users\javatpoint> CD C:\Program Files\MySQL\MySQL Server 8.0\bin

步骤4:接下来,我们将使用以下命令将转储文件导入所需的数据库中。

$ mysql -u username -p database_name < desiredplace\dbname.sql

在下面的语句中,我们将提供用户名:root,数据库名称:mytestdb_copy,备份文件的位置:BackupFile和输入数据库名称:testdb.sql。现在,按Enter键。

$ mysql -u root -p mytestdb_copy < D:\BackupFile\testdb.sql

步骤5:按Enter键后,它将询问我们指定的用户名的密码。然后,再次按Enter键。如果命令正确执行,则它不会在屏幕上显示任何内容。我们将获得以下屏幕,这意味着数据库已成功导入:

步骤6:再次打开MySQL客户端工具,然后执行以下命令来验证数据库。在输出中,我们可以看到该数据库现在包含两个表:

MySQL工作台

在这里,我们将看到使用MySQL Workbench导入数据库。因此,打开工作台并输入用户名的密码。

步骤1:导航到菜单栏,然后单击服务器。出现一个弹出屏幕,然后选择“数据导入”选项,如该屏幕所示。它将打开一个新的数据导入设置和选项窗口。

步骤2:在屏幕上,我们可以看到导入数据库和表的两个单选选项,如下所示:

  • 从转储项目文件夹导入
  • 使用自包含文件导入

步骤3:在这里,我们将选择“通过使用自包含文件导入”,然后从“数据导入”选项中选择要导入的数据库。

步骤4:选择“转储结构和数据”选项,然后单击“开始导入”按钮以从备份文件导入数据库和表。以下屏幕清楚地说明了所有步骤:

步骤5:现在,导航到工作台窗口左侧导航器选项下的“架构”,并刷新它以查看当前导入的数据库或表。