pgloader -无法以用户“root”身份连接到位于“localhost”(端口3306)的mysql:条件QMYND:MYSQL-UNSUPPORTED-身份验证已发出信号

gblwokeq  于 2023-02-03  发布在  Mysql
关注(0)|答案(1)|浏览(1001)

我正在尝试将我的rails应用程序从mysql迁移到postgres。由于我们已经运行了应用程序,所以我使用pgloader将mysql数据移动到postgres数据库。但是当我这样做时

pgloader mysql://root:root_password@127.0.0.1/mysql_database postgresql://postgres_user:postgres_pass@127.0.0.1/postgres_database

**我收到错误-无法127.0.0.1以用户“root”身份连接到“www.example.com“(端口3306)上的mysql:条件QMYND:MYSQL-UNSUPPORTED-AUTHENTICATION已发出信号。**我可以很容易地登录到MySQL从终端虽然。提前感谢。

oknrviil

oknrviil1#

问题是目前 pgloader 不支持MySQL 8默认的caching_sha2_password认证插件,而旧版MySQL使用mysql_native_password插件,相应问题在Github上打开。
基于此注解,这里的解决方法是编辑my.cnf(如果不知道它在哪里,请查看here),并在[mysqld]部分添加

default-authentication-plugin=mysql_native_password

然后重新启动MySQL服务器并执行:

ALTER USER 'youruser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';

在此之后,错误必须消失。

相关问题