MySQL Workbench-如何在不同名称的同一服务器上克隆数据库?

时间:2019-03-05 06:51:35

标签: mysql sql mysql-workbench

我正在使用MYSQL Workbench,并且我想使用相同的名称在同一服务器上克隆数据库。它应该将所有表结构和数据复制到新数据库中。

我知道通常的方法可能是使用data export来生成数据库的sql脚本,然后在新数据库上运行该脚本,但是我遇到了一些问题。

无论如何,有没有更好的方法或更简单的方法呢?

3 个答案:

答案 0 :(得分:1)

我试图在MySQL Workbench 8.0中做到这一点。但是,我一直收到有关列静态的错误。主要思想是使用位于MySQL Workbench安装目录中的mysqldump.exe导出数据。因此,假设有一个面向Windows的平台:

  1. 打开 Powershell ,导航到mysqldump.exe目录。就我而言,命令是:

                    cd C:\Program Files\MySQL\MySQL Workbench 8.0 CE
    
  2. 通过执行提供正确参数的mysqldump导出数据库:

    ./mysqldump.exe --host=[hostServerIP] --protocol=tcp --user=[nameOfUser] --password=[yourPassword] --dump-date=FALSE --disable-keys=FALSE --port=[portOfMysqlServer] --default-character-set=utf8 --skip-triggers --column-statistics=0 "[databaseName]"
    
  3. 在不更改目录的情况下,使用以下命令在Powershell中导入导入的文件(.sql)

    Get-Content "[pathToExportedDataFile]" | ./mysql.exe --user=[nameOfUser] --password=[yourPassword] --port=[portOfMysqlServer] --host=[hostServerIP]  --database=[nameOfNewDatabase] --binary-mode=1
    

您可以在文档here中查阅有关mysqldump选项的更多信息。

请注意以下几点:

  • 不要忘记用自己的值替换[]中的值并删除[]。请勿删除引号中的双引号(“”)。
  • 请勿为cmd或git-bash之类的内容切换Powershell ,因为上述操作将无效。
  • 关于第3步,我从MySQL Workbench创建了新数据库,然后运行了powershell命令。

答案 1 :(得分:0)

  • 列表项首先,使用CREATE DATABASE语句创建一个新数据库。
  • 第二,使用mysqldump工具导出要从中复制数据库的所有数据库对象和数据。
  • 第三,将SQL转储文件导入到新数据库中。

答案 2 :(得分:0)

您可以使用MySQL Workbench中的迁移向导。只需在源选择和目标选择中选择相同的本地连接,然后在手动编辑步骤中更改架构名称。深入到最后,瞧瞧-您有两个名称不同的相同数据库。