【问题标题】:Migrate database from Postgres to MySQL [closed]将数据库从 Postgres 迁移到 MySQL [关闭]
【发布时间】:2011-05-06 09:12:18
【问题描述】:

我已将数据库从 更改为,但我不知道如何将数据从一个转移到另一个。

有谁知道我可以通过什么命令将我的数据库从 复制/迁移到

【问题讨论】:

标签: postgresql mysql postgresql mysql mysql database postgresql


【解决方案1】:

几年前遇到过这个问题,用过pg2mysql

2019 年 7 月 21 日编辑this fork 似乎是更好的选择(补丁、轻度维护)

【讨论】:

  • 在我的情况下,它在转换从 postgres 导出产生的 COPY 命令时效果不佳。
  • @PeterDeWeese 使用 --inserts 选项转储数据作为 INSERT 命令。
  • 脚本到处都有语法错误(Ubuntu 12.04 上的 MySQL 5.7)。适用于以及关注these instructions
  • 如果您使用的是 php 7,您将获得一个 Parse error: syntax error, unexpected '&' in pg2mysql.inc.php on line 133 修复它,方法是删除源代码中所有错误的 &(在函数调用中通过引用传递)或轻松运行 @ 987654328@ 在命令行中(如果可用)
  • 不幸的是,这个技巧在大型数据库上会失败。我自己多年来一直使用一个名为“PostgreSQL to MySQL”(convert-in.com/pgs2sql.htm)的软件。即使在庞大的数据库上,它也能像魅力一样工作,但需要花费:49 美元。否则,下面@CarstenSchmitz 的回答是 IMO 的最佳解决方案。
【解决方案2】:

您可以使用MySQL Workbench,它可以从各种数据库类型(包括 Postgres)导入。

【讨论】:

  • 遗憾的是,它目前无法在 macOS Sierra 中使用。
  • 但仅供mysql工作台商业用户使用。
  • @caras 这不是真的。 MySQL 工作台导入在标准版本中工作正常。
  • 这里是使用 MySQL Workbench 迁移向导将 PostgreSQL 数据库迁移到 MySQL 的直接 HowTo 链接:mysqlworkbench.org/2012/11/…
  • 在带有 Workbench 8.0.20 的 Windows 上,这实在是太错误了。 DBeaver 更好、更可靠。
【解决方案3】:

Dbeaver 是无痛迁移、列到列映射、字符编码以及开源的完美解决方案。

【讨论】:

  • 绝对是个好工具!不过,这种迁移并没有什么“无痛”的……至少在我的情况下不是这样。单独的列映射需要太多的手动工作,因为它选择的自动类型不是很好......
  • 那么……这在 DBeaver 中是如何完成的?具体来说,复制表数据结构,并单独复制数据。你能在你的答案中解释这个过程吗?对于复制数据,我一次只能找到一张表,效率很低。
  • Dbeaver 很棒,在 MAC 上轻松安装,超级直观,提示我安装 mysql/postgres 驱动程序。完美运行!
猜你喜欢
  • 2013-04-17
  • 1970-01-01
  • 2018-10-02
  • 2016-02-29
  • 1970-01-01
  • 2014-11-13
  • 2011-12-22
相关资源
最近更新 更多