gpt4 book ai didi

MySQL 8 : ER_NOT_SUPPORTED_AUTH_MODE

转载 作者:行者123 更新时间:2023-11-29 07:28:44 25 4
gpt4 key购买 nike

<分区>

设置

  • Expressjs( Node )在 Windows 10 PC 上的 localhost:3000 运行。
  • MySQL 通过 docker-machine 在 192.168.99.100:3306 的 Docker 容器中运行。

问题

尝试使用以下方式将服务器连接到 MySQL 时:

const connection = mysql.createConnection({
host: '192.168.99.100',
user: 'root',
password: 'foo123',
database: 'foo_db'
});

获得:

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgr ading MySQL client

在 StackOverflow 上检查了许多答案。他们中的大多数人使用 ( example ):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';

但是我得到:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass'; Query OK, 0 rows affected (0.06 sec)

而且服务器仍然不想连接。使用 MySQL 5.7 工作正常。

关于如何为 MySQL 8 解决这个问题有什么想法吗?


已添加:

为了清楚起见:

连接MySQL后,运行:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'foo123';
FLUSH PRIVILEGES;

重启 Node.js 和 MySQL 容器,没有任何反应。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com