将数据库从Postgres迁移到MySQL

53

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

有没有人知道可以使用哪个命令来复制/迁移我的数据库从


Pivotal还发布了一个工具:https://github.com/pivotal-cf/pg2mysql(与下面的脚本同名-尽管功能不同)。 - koppor
3个回答

47

几年前遇到问题,使用了 pg2mysql

编辑于2019年7月21日这个分支 似乎是更好的选择(补丁、轻量级维护)


3
在我的情况下,将从Postgres导出的COPY命令转换成另一种格式并没有很好地起作用。 - Peter DeWeese
2
@PeterDeWeese 使用 --inserts 选项将数据转储为 INSERT 命令。 - Baptiste Costa
脚本在各处都有语法错误(MySQL 5.7 在 Ubuntu 12.04 上)。按照以下说明操作的效果大致相同:这些说明 - T. Webster
2
如果您正在使用php 7,则会出现“Parse error: syntax error, unexpected '&' in pg2mysql.inc.php on line 133”的错误,请通过删除源代码中所有错误的&(在函数调用中传递引用)来修复它,或者如果可用,可以在命令行中轻松运行php5 pg2mysql_cli.php <inputfilename.sql> <outputfilename.sql> [engine] - Felix Geenen
1
不幸的是,这个技巧在大型数据库上会失败。我自己使用一个叫做“PostgreSQL to MySQL”的软件(https://www.convert-in.com/pgs2sql.htm)多年了。它非常好用,即使在处理大型数据库时也很稳定,但需要付费49美元。否则,下面@CarstenSchmitz的回答是我认为最好的解决方案。 - SuN
这太糟糕了,在将Postgres转换为MySQL时出现了各种语法错误。 - sharadov

19
你可以使用MySQL Workbench,它可以从各种数据库类型中导入,包括Postgres。

目前来看,很遗憾它在macOS Sierra上无法运行。 - Nemanja
但仅限于MySQL Workbench商业用户。 - Caner
1
@caras 这不是真的。MySQL Workbench导入在标准版本中完全正常运作。 - Deckard
1
以下是将PostgreSQL数据库迁移到MySQL的直接操作链接,使用MySQL Workbench Migration Wizard:https://mysqlworkbench.org/2012/11/how-to-migrate-postgresql-databases-to-mysql-using-the-mysql-workbench-migration-wizard/ - SuN
尝试在 MAC 上安装新版本,但由于我的 MAC 没有升级到 10.4,新版本无法工作;旧版本也无法开始安装,甚至不会给出任何无法开始的提示信息,非常糟糕。建议改用 Dbeaver,我用了5分钟就搞定了。 - sharadov
1
在Windows上使用Workbench 8.0.20时,它太容易出现错误了。DBeaver更好、更可靠。 - Adam C

5

Dbeaver 是一个完美的解决方案,可以轻松进行迁移、列映射、字符编码等操作,并且是开源软件。


绝对是一个不错的工具!但是迁移过程并不“无痛”,至少在我的情况下不是。由于自动选择的类型不太好,仅列映射就需要太多手动工作了... - Chris
那么,在DBeaver中如何完成这个操作呢?具体来说,如何复制表的数据结构和数据本身。您能在回答中解释一下这个过程吗?对于复制数据,我只能找到一次只能复制一个表的方法,这真的很低效。 - Dakusan
Dbeaver非常棒,在MAC上安装很容易,超级直观,并提示我安装mysql/postgres驱动程序。运行非常流畅! - sharadov

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