我正在尝试从mysql迁移到postgres数据库
无论如何,可以从mysql迁移到postgres而无需修改my.cnf文件
pgloader mysql:// root:root_password@127.0.0.1/mysql_database postgresql:// postgres_user:postgres_pass@127.0.0.1/postgres_database
我尝试创建这个
create user 'pgloader'@'localhost' identified with mysql_native_password by 'pass'
但是当我尝试迁移时,我总是会收到此错误
无法以用户“ pgloader”的身份连接到“ localhost”(端口3306)处的mysql:发出了条件QMYND:MYSQL-UNSUPPORTED-AUTHENTICATION。
无法使用pgloader从Mysql 8迁移到Postgres 第一种方法第二种方法第三种方法
•
问答
boggie0909 回答:无法使用pgloader从Mysql 8迁移到Postgres 第一种方法第二种方法第三种方法
截至 2021 年 4 月,pgloader 不支持 MySQL v8 中较新的 SHA2 身份验证模式。 (升级工作量很大。)
去年我遇到了 3 次这个问题。
第一种方法
对于第一个客户端,我能够将 MySQL 降级到 v5.6 following comments here.
第二种方法
对于具有小型数据库的第二个客户端,我一起编写了一些 shell 脚本。
- 通过 SSH 获取
mysqldump
(绝对需要使用选项。) - Reformatting SQL syntax to postgres.
- 然后针对 postgres 目标执行。
第三种方法
我的第三个客户有更多的数据,数百个表中有 4-5TB。
这次我发现 NMIG,a Node-based configurable data migration tool. 经过一些调整和配置后,它似乎工作得很好。
我将来肯定会接触 NMIG。