在 MySQL 中将数据从一个数据库复制到另一个数据库

Mehvish Ashiq 2023年1月30日 2022年5月13日
  1. 将数据从一个数据库复制到另一个
  2. 将数据从 MySQL 服务器复制到 MS SQL 服务器
  3. 结论
在 MySQL 中将数据从一个数据库复制到另一个数据库

我们将了解将数据从一个数据库复制到另一个数据库的不同方法。

这种复制数据的策略在数据复制中非常有用。由于数据复制,可以将数据提供给不同的服务器并提供给所有用户,而不会出现任何不一致。

数据复制的好处包括提高数据的可用性和可靠性以及减少通信开销。我们可以将完整或部分数据库从一台数据库服务器复制到另一台。

在本教程中,我们将了解如何在 MySQL(使用相同用户)、MS SQL Server(使用相同用户)以及从 MySQL 复制数据到 MS SQL Server(使用不同用户)中复制数据。

将数据从一个数据库复制到另一个

使用 MySQL 服务器

我们的 MySQL 服务器中有两个名为 studentsperson 的数据库。person 数据库有一个名为 customers 的表,students 数据库有一个名为 student 的表,我们希望将其复制到 person 数据库中。

需要注意的是,我们使用一个用户(root)在一台服务器(MySQL 8.0.27)中复制数据。我们有以下数据库(见红色框)和表格(见绿色框)。

将数据从一个数据库复制到另一个 - mysql 服务器中的当前数据

我们想使用以下 SQL 查询将 student 表从 students 数据库复制到 person 数据库。

#MySQL Version 8.0.27
CREATE TABLE person.students SELECT * FROM students.student; 

复制数据后观察数据库和表(见下面的截图)。你可以在 person 数据库中看到两个表,customersstudents

你可能已经注意到我们想从源数据库中复制 student 表,那么为什么在目标数据库中将其命名为 students?这是因为我们在 SQL 查询中将其命名为 students

将数据从一个数据库复制到另一个数据库 - 复制到 mysql 服务器后的数据

使用 MS SQL 服务器

在这里,我们的 MS SQL Server 中有两个名为 teachersperson 的数据库。person 数据库有一个名为 customers 的表,teachers 数据库有一个名为 teacher 的表,我们希望将其复制到 person 数据库中。

我们使用一个用户在一台服务器(MS SQL Server)中复制数据。你可以在下面的屏幕截图中看到当前的数据库(见红色框)和表(见绿色框)。

将数据从一个数据库复制到另一个 - mssql 服务器中的当前数据

我们将使用以下命令将名为 teacher 的表从 Teachers 数据库复制到 Person 数据库中。

#MSSQL Server
SELECT * INTO Person..teacher FROM Teachers..teacher;

你可以在下面给出的屏幕截图中看到复制的表格。我们现在在 Person 数据库中有两个表。

将数据从一个数据库复制到另一个 - 在 mssql 服务器中复制后的数据

将数据从 MySQL 服务器复制到 MS SQL 服务器

你有没有想过如果你必须将数据从你的数据库复制到另一个用户的数据库?这意味着涉及不同的用户(有时是不同的机器)。

在这里,我们将看到如何将数据从 MySQL 服务器复制到 MS SQL 服务器(请注意,同一台计算机上有两个用户,一个用于 MySQL,另一个用于 MS SQL Server)。

在 MS SQL Server 中右键单击你的数据库,然后选择 Task -> Import Data

将数据从一个数据库复制到另一个 - 在 mssql 服务器中选择导入数据

单击以下屏幕截图中的下一步按钮。

将数据从一个数据库复制到另一个 - 在 mssql 服务器中单击下一步

在以下屏幕截图中,确保数据源为 .Net Framework Data Provider for MySQL,将 MySQL 数据库名称、端口号和服务器分别写入 students3306localhost。然后,单击下一步。

请务必注意,你可能有不同的数据库名称和服务器 IP 地址。我们在同一台机器上使用两台服务器;这就是我们使用 localhost 的原因。

将数据从一个数据库复制到另一个 - 在 mssql 服务器中选择源端口服务器

输入 MySQL 服务器的用户名密码(请参见下面的屏幕截图),然后单击下一步

将数据从一个数据库复制到另一个 - 用户登录信息

确保目标选择为 SQL Server Native Client 11.0,确认你的服务器名称和数据库名称,然后选择身份验证。我们在本教程中使用 Windows 身份验证。然后单击下一步。

将数据从一个数据库复制到另一个 - 在 mssql 服务器中选择目标

在以下屏幕上单击下一步。

将数据从一个数据库复制到另一个 - 在 mssql 服务器中写入查询部分 a

根据你的要求编写 SQL 查询;我们正在使用以下命令从 student 表中复制所有记录。点击下一步。

将数据从一个数据库复制到另一个数据库 - 在 mssql 服务器中写入查询部分 b

写下你的目标表名称(将出现在 MS SQL Server 中的名称),然后单击下一步。

将数据从一个数据库复制到另一个 - mssql 服务器中的目标表名

在下面给出的屏幕上单击下一步。

将数据从一个数据库复制到另一个 - mssql 服务器中的信息

在以下屏幕截图中,选择立即运行(见绿色框),或者你可以保存包并稍后运行(见红色框)。点击下一步。

将数据从一个数据库复制到另一个 - 现在在 mssql 服务器中运行

在以下屏幕上单击完成。

将数据从一个数据库复制到另一个 - mssql 服务器中的完整向导

此处,以下屏幕显示数据已被复制。单击关闭。

将数据从一个数据库复制到另一个 - 在 mssql 服务器中成功传输

检查你的 MS SQL Server 以获取复制的表,你可以在以下屏幕截图中看到绿色框。

将数据从一个数据库复制到另一个 - 将 mysql 复制到 mssql 服务器之后

结论

考虑到上述讨论,我们得出结论,出于各种原因,包括安全问题、数据可用性和可靠性等,将数据从一个数据库复制到另一个数据库很重要。我们还可以为全球不同用户提供对数据的访问权限。

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook