在安装和配置Sequelize没问题后运行项目会出现这个数据库密码验证错误,但是我们在控制台中输入mysql -u root -p又可以登录mysq
Access denied for user 'root'@'localhost' (using password: YES), sleep 1 seconds to retry
原因是因为,电脑安装了多个版本的mysql数据库,在软件默认打开的以前版本的数据库,导致数据库用户和密码对不上。
解决步骤:
1.按下“win+r”,打开运行面板,输入“services.msc”,回车
2.打开本地服务,找到Mysql服务查看是否存在多个Mysql服务版本在运行(在这里笔者就有两个Mysql服务在运行)我们右键以前版本的MysqlL5_pn,点击停止或暂停服务。
3.这时候我们回到项目中,运行项目,这时候项目可能会报这个错误,这是一个权限与安全问题
Client does not support authentication protocol requested by server; consider upgrading MySQL client, sleep 1 seconds to retry
4.我们找到 mysql 的安装目录(笔者使用的 MySQL,mysql安装的默认路径为:C:\Program Files\MySQL\MySQL Server 8.0\bin),在导航栏输入“cmd”打开控制台
5.输入“mysql -u root -p”登录数据库
6.接下来把这两条代码逐条复制粘贴到控制台执行就可以了(你的数据库密码会被设置为“123456”)
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
flush privileges;
7.配置完我们重新运行egg项目即可使用Sequelize正常的连接mysql数据库