可以通过 mysql workbench 但不能通过 mysql2 (NodeJS) 连接到远程 mysql 数据库

Can connect to remote mysql DB through mysql workbench but not through mysql2 (NodeJS)

我正在尝试将我的 NodeJS 应用程序连接到我的远程 MySQL 数据库,但它一直给我一个 1045 错误 ('ER_ACCESS_DENIED_ERROR')。从同一个工作站,我可以通过 MySQL Workbench 完美连接到同一个数据库。

这让我认为问题出在我的 NodeJS 设置上,但是将数据库复制到本地设置然后连接它,工作正常。为了进行测试,我创建了一个主机为 % 的数据库用户,并从我的 Node 应用程序连接到托管数据库的 IP 地址。我将它托管在我自己的 Centos 7 droplet 上,并将我的工作站 IP 列入白名单。

我收到的错误信息是:

"Access denied for user '[the test user I made]'@'[workstation ip]' (using password: YES)"

非常感谢任何帮助!

显然(至少我认为)我使用的密码中包含禁用字符(不确定是哪些)。生成一个更简单的密码解决了这个问题!

出现以下错误:

"Access denied for user '[the test user I made]'@'[workstation ip]' (using password: YES)"

通常表示密码错误。 检查您是否记下了正确的密码并在需要时进行修改。

此时也值得一读的是:https://dev.mysql.com/doc/internals/en/authentication-method.html