在Datagrip(MySQL)中复制/克隆数据库

17

我该如何将一个模式复制到我在Datagrip中创建的另一个模式中,从而创建原始模式的克隆。由于某种原因,我的CMD提示符未设置为MySQL,并且我还没有找到通过Datagrip用户界面完成此操作的方法。


数据库工具 → 将数据源复制到剪贴板,然后从剪贴板导入。您可以在主页https://www.jetbrains.com/de-de/datagrip/features/dbobjects.html上查找相关图片。搜索“Datenquellen kopieren”。 - nbk
2个回答

7
  1. 如果您只想克隆数据库结构,请按照以下步骤进行:
  • 步骤 1:选择要克隆的数据库。

  • 步骤 2:右键单击 => SQL 脚本 => 生成 DDL 到剪贴板。

  • 步骤 3:在目标数据库中创建一个控制台文件 => 将 DDL 从剪贴板粘贴到其中。

  • 步骤 4:运行所有脚本。

enter image description here

  1. 如果你想要克隆结构和数据,请按照以下步骤进行:
  • 步骤 1:从目标数据源创建一个新的模式/数据库。

enter image description here

  • 步骤 2:将当前模式/数据库拖放到你刚创建的新模式/数据库中。

enter image description here

  • 步骤 3:修改一些内容,然后按“导入”按钮以克隆所有表格。

enter image description here


我刚刚尝试了“选项2”以复制所有表格和数据,虽然它在新模式中创建了所有表格,但只复制了第一个表格的数据--所有其他表格都为空。 - walen

6

有两种方法。

  1. 可靠且带有数据,但需要使用my_sqldump。在模式的上下文菜单中 -> 使用mysql_dump导出。之后,在新模式上下文菜单中 -> 使用mysql_dump进行还原

enter image description here

  1. 如果您的模式不包含一些非常特定的对象:LOGFILE GROUP、SERVER、SPATIAL REFERENCE SYSTEM、TABLESPACE,则适用。同时没有数据。进入模式的上下文菜单中 -> Sql Scripts -> SQL generator。您将看到从头开始创建模式的脚本。在新模式上运行它即可。

enter image description here


第一种解决方案是在DataGrip中报告了一些问题,有时mysqldump选项会消失,您需要检查数据库属性中的URL。 请查看JetBrains支持页面:https://intellij-support.jetbrains.com/hc/en-us/community/posts/360006931279-mysqldump-is-missing-for-mysql-database - Mike D3ViD Tyson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接