MySQL 导出和导入数据库
怎样在MySQL中导出和导入数据库?
在MySQL中,数据库导出和导入是将数据从一个地方移动到另一个地方的过程。导出和导入是用于备份重要数据或在不同版本之间传输数据的有用方法。例如,我们有一个对于我们的业务至关重要的联系人数据库。将其保存在安全的地方是必需的。因此,我们需要将其导出到安全的地方,当它从原始位置丢失时,我们可以使用导入选项恢复它。
在MySQL中,我们可以通过以下两种方式导出和导入数据库:
- 命令行工具
- MySQL工作台
让我们详细讨论数据库导出和导入的这两种方式。
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
第五步: 按下回车键后,它会要求输入我们指定的用户名的密码。然后再次按下回车键。它将在指定的位置创建带有 .sql后缀 的备份文件。我们将得到以下输出,这意味着数据库导出成功:
最后,我们可以验证导出数据库,包括指定文件夹中的表。
MySQL Workbench
在这里,我们将看到使用 MySQL Workbench 导出数据库,包括表。所以打开Workbench并输入用户名的密码。
步骤 1: 转到菜单栏,点击Server。出现一个弹出屏幕,然后选择 Data Export 选项,如此屏幕所示。它将打开一个新的数据导出设置和选项的窗口。
步骤2: 选择您想要的任何数据库。它还会在窗口的左侧部分显示相应的表。在这里,我们将选择 mytestdb 数据库。我们还可以选择多个数据库复选框以在导出文件中包含数据库。同样,我们也可以选择多个表。
步骤 3: 选择数据库后,包括所有表格,在下拉设置中选择任何可用选项。
- Dump Data and Structure: 它将保存表结构和数据行。
- Dump Data Only: 它将仅保存插入到表中的行。
- Dump Structure Only: 它将仅保存表结构,即我们定义的数据库列和数据类型。
步骤 4: 在导出选项中,我们可以看到下面解释的两个单选按钮。
- 导出到导出项目文件夹: 它将把所有表作为单独的SQL文件保存在一个文件夹中。当您逐个表导入或还原导出文件时,它将非常有用。
- 导出到独立文件: 它将所有数据库和表存储在一个单独的SQL文件中。当您想要使用一个SQL文件导入所有数据库、表和数据行时,这是一个很好的选择。
我们可以选择我们喜欢的导出路径。在这里,我将保持默认设置。
步骤 5: 点击开始导出按钮,将显示进度条和日志。现在,我们可以在系统的文档文件夹中验证导出文件。
MySQL导入数据库
命令行工具
这里,我们将会看到使用命令行工具导入数据库,包括表格。所以,请使用用户名和密码打开命令行工具,并执行以下步骤:
步骤1: 使用以下语句创建一个名为 “mytestdb_copy” 的空白数据库:
mysql> CREATE DATABASE mytestdb_copy;
步骤 2: 接下来,我们需要执行以下命令来验证它是否不含任何表格。
mysql> USE mytestdb_copy;
mysql> SHOW TABLES;
我们可以看到以下输出:
步骤 3: 访问存储数据库的计算机上的命令行。如果您有物理访问权限,可以打开DOS或终端窗口以访问命令行。 例如 ,如果我们将MySQL安装在 C文件夹 中,复制以下文件夹链接并粘贴到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: 按下回车键后,它会要求输入我们指定的用户名的密码。然后,再次按下回车键。如果命令执行正确,屏幕上不会显示任何内容。我们将会得到如下屏幕,这意味着数据库成功导入:
步骤 6: 再次打开MySQL客户端工具,并执行以下命令以验证数据库。在输出中,我们可以看到该数据库现在包含两个表:
MySQL工作台
在这里,我们将要看到如何使用MySQL工作台导入数据库。打开工作台并输入用户名的密码。
步骤1: 导航到菜单栏,点击服务器。将会出现一个弹出屏幕,然后选择 数据导入 选项,如图所示。它将打开一个新的窗口,显示数据导入的设置和选项。
步骤 2: 在屏幕上,我们可以看到两个导入数据库和表的单选选项,如下所示:
- 从导出工程文件夹导入
- 使用自包含文件导入
步骤 3: 在这里,我们将选择 ‘使用自包含文件导入’ 并从数据导入选项中选择所需的数据库进行导入。
步骤 4: 选择 ‘导出结构和数据’ 选项并点击 开始导入 按钮以从备份文件导入数据库和表。以下屏幕清楚地解释了所有步骤:
步骤 5: 现在,在工作台窗口左侧的导航选项下导航到模式,并刷新以查看当前导入的数据库或表。