MySQL 导出和导入数据库

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

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

  1. 命令行工具
  2. MySQL Workbench

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

一、MySQL 命令行工具 导出数据

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

第 1 步:执行以下语句以显示MySQL服务器上所有可用的数据库。

mysql> SHOW DATABASES;  

我们将得到以下输出:

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

第 3 步:在存储数据库的计算机上访问命令行。如果您可以物理访问计算机,则可以打开 DOS 或终端窗口来访问命令行。例如,如果我们在C 文件夹中安装了 MySQL,则复制以下文件夹并将其粘贴到我们的 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 用户名。
Username:这是我们可以登录到数据库的用户名。
-p:确保与用户名关联的密码。
database_name:这是我们要导出的数据库的名称。
>:保证输出位置。
desiredplace\dbname.sql: desired_place 是我们要导出的文件夹,dbname.sql 是保存输出的文件。

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

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

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

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

二、MySQL Workbench 导出数据

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

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

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

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

  • Dump Data and Structure:它将保存表结构和数据行。
  • Dump Data Only:它将仅保存表中插入的行。
  • Dump Structure Only:它只会保存表结构,即我们定义的数据库列和数据类型。

第 4 步:在导出选项中,我们可以看到下面解释的两个单选按钮。

  • Export to Dump Project Folder:它将所有表作为单独的 SQL 文件保存在一个文件夹下。当您一张一张地导入或还原导出文件时,它将很有用。
  • Export to Self-Contained File:它将所有数据库和表存储在一个 SQL 文件中。当您想要使用单个 SQL 文件导入所有数据库、表和数据行时,这是一个不错的选择。

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

第 5 步:单击“开始导出”按钮,显示进度条和日志。现在,我们可以验证系统中 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 键。如果命令正确执行,它不会在屏幕上显示任何内容。我们将看到以下屏幕,这意味着数据库已成功导入:

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

四、MySQL Workbench 导入数据

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

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

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

  • Import from Dump Project Folder
  • Import by using Self-Contained File

第 3 步:在这里,我们将选择“Import by using Self-Contained File”,然后从“数据导入”选项中选择要导入的所需数据库。

第 4 步:选择“Dump Structure and Data”选项,然后单击“开始导入”按钮以从备份文件中导入数据库和表。以下屏幕清楚地解释了所有步骤:

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

热门文章

优秀文章