将整个数据库复制到另一个服务器数据库

Vin*_*oth 26 mysql mysql-workbench

我目前正在开发一个带有MySQL后端的Windows应用程序.现在我想将旧的数据库结构和数据复制到新的数据库服务器.

如何使用MySQL工作台解决这个问题

谢谢.

Alb*_*eón 39

  1. 打开MySQL Workbench
  2. 创建旧服务器的连接(如果没有)
  3. 创建新服务器的连接(如果没有)
  4. 转到"服务器管理"并单击"管理导入/导出"
  5. 选择旧服务器
  6. 在"导出到磁盘"选项卡中选择所有模式
  7. 在选项中选择"导出到自包含文件",等待它完成
  8. 返回"服务器管理"并单击"管理导入/导出"
  9. 选择新服务器
  10. 切换到"从磁盘导入"
  11. 单击"从自包含文件导入"

这是仅使用MySQL Workbech的方式,有时你没有将它安装在新服务器中,比如在开发到生产场景中,这样你应该执行mysqlimport实用程序.

  • **导出到自包含文件**对我不起作用(我正在使用Workbench 6.0).幸运的是**导出到转储项目文件夹**工作正常! (2认同)

She*_*man 7

使用 MySQL Workbench [迁移向导]

要将数据库从一台服务器直接复制到另一台服务器(甚至是本地服务器)而不创建中间导出/转储文件,您可以在 MySQL Workbench 中使用其迁移向导执行此操作。转到Database--> Migration Wizard

如果您之前已将它们保存到您的连接列表,您可以从那里选择源和目标连接,或者您可以动态创建新连接(确保选中将其添加到您的连接列表的框)。
您还将选择数据库类型,或选择它们的通用版本(不记得它叫什么)并让它确定您拥有哪种类型的数据库服务器。通常,您可以为 MySQL 或 MariaDB 数据库选择 MySQL,因为 MariaDB 通常被设计为 MySQL 的“二进制替代品”。

当它要求您选择哪些数据库时,我的理解INFORMATION_SCHEMA是只读的,不应选择。否则,除非您有特定需求,否则可能会选择所有其他表,例如,如果您要克隆服务器(可能还有其相关网站)。

从那里你会让 MySQL Workbench 做它的事情。在它完成从旧服务器到新服务器对架构进行逆向工程的过程时,继续单击下一步,直到它最终将数据复制过来。

在继续之前,您可以进行许多更改。您还可以选择查看在此过程中记录的潜在问题和警告。

完成后,您仍然需要为克隆的数据库添加用户(手动?)。也可能有一种自动化的方法来克隆用户表,但我不知道。如果没有别的,您可以从命令行执行此操作。由于我将它用于本地开发人员,因此无论如何我只能添加自己。

我不确定使用此工具是否比以通常方式导出和导入数据库更快。但这肯定更容易。
这个工具实际上是为在不同类型的数据库(例如 PostgressSQL 和 MySQL)之间进行更复杂的迁移而设计的,而不是作为一个通用工具,例如,将您的实时数据库的副本检索到您的本地开发服务器,反之亦然。

在同一个菜单下,有Database-> Schema Transfer Wizard,据我所知,当您需要更新到新的服务器版本时会使用它。我不清楚这两种工具之间的区别,或者它们的实际用例。

有关如何执行标准导入/导出操作的说明,在 MySQL 工作台中,文档是SQL 数据导出和导入向导,以及表数据导出和导入向导

如果可以直接在开发服务器和实时服务器之间导入/导出,只需选择连接,而不是保存然后读取转储文件,那将会很酷。
我认为它可以通过命令行完成。


ago*_*old 5

要直接复制数据库,无需先进行导出和导入,您可以使用MySQL Utilities命令mysqdbcopy

mysqldbcopy --source=root:root@localhost --destination=root:root@localhost world:world_clone
Run Code Online (Sandbox Code Playgroud)

您可以在 WindowscmdMySQL 实用程序控制台中运行该命令。