我正在尝试使用 Sequelize 与 MySQL 8.0.15 一起迁移数据库,但我无法做到这一点。我不断收到此错误消息。
Sequelize CLI [Node: 10.15.0, CLI: 5.4.0, ORM: 5.3.5]
Loaded configuration file "config/config.json".
Using environment "development".
ERROR: Client does not support authentication protocol requested by server; consider upgrading MySQL client
我已经尝试了该问题的所有解决方案。问题是,当我尝试更改 MySQL root 密码时,我收到的消息是:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
然后我确实尝试按照此过程更改密码验证策略
https://dev.mysql.com/doc/refman/5.6/en/validate-password-installation.html
然后 MySQL 崩溃了,因为它已被弃用。然后我尝试了这个
https://dev.mysql.com/doc/refman/8.0/en/validate-password-installation.html
然后我得到了这个
mysql> INSTALL COMPONENT 'file://component_validate_password';
ERROR 3529 (HY000): Cannot load component from specified URN:
'file://component_validate_password'.
然后我检查了组件在哪里
ls /usr/lib64/mysql/plugin/component_v*
/usr/lib64/mysql/plugin/component_validate_password.so
有人可以帮忙吗?我现在真的别无选择!
提前致谢
最佳答案
如果您想使用 MySQL 5.x 风格的身份验证,通常您只需将其添加到您的 my.cnf
中即可:
[mysqld]
default_authentication_plugin=mysql_native_password
在添加任何用户之前执行此操作。仅使用用户通过 Sequelize 进行连接,切勿使用 root
。
关于mysql - Sequelize 不支持 MySQL 8 身份验证协议(protocol),我不知道如何更改此协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55670688/