我有一个MySQL
在严格的防火墙后面运行的数据库,并且只能监听localhost
- 甚至没有127.0.0.1
。
我有一个遥控器PostgreSQL
,我想从数据库里获取synced
它的副本。table
MySQL
运行数据库的服务器MySQL
能够连接到PostgreSQL
数据库,因为允许传出连接。
是否可以MySQL
通过将表推送到远程PostgreSQL
并sync
近乎实时地保持数据库同步?
我已经查看过foreign data wrappers
但PostgreSQL
它们的工作方式恰恰相反,并且没有replica
在本地存储。
找不到是否有任何可以//变成foreign data wrapper
的?MySQL
insert
update
delete
PostgreSQL
答案1
这不是一个系统管理员解决方案/答案,但如果只针对一个表,我建议构建一个小型服务,将该表从 mysql 同步到 postgree db。
我过去曾对两个 mysql 数据库做过这个,但我必须添加一个表字段才能知道该字段是否已同步。
答案2
你没有提到操作系统,但假设是 Linux 系统,你可以创建 SSH 隧道,例如:ssh root@<HOSTNAME> -L 5432:localhost:5432
然后尝试pg_chameleon:
pg_chameleon 是一个用 Python 3 编写的 MySQL 到 PostgreSQL 副本系统。该工具可以连接到 mysql 复制协议并复制 PostgreSQL 中的数据更改。无论用户需要在 MySQL 和 PostgreSQL 之间设置永久副本还是执行引擎迁移,pg_chamaleon 都是完成这项工作的完美工具。