Mysql8.0+ 遇到的问题及解决方案
前因: 其它服务包括后端SpringBoot使用Mybatis连接Mysql、调用sql语句都没问题,唯独在Node中连接数据库时总是出现问题: ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES), 一开始修改东西不知道修改了啥把mysql搞崩了,后来发现是版本问题,只需要重新修改密码即可(应该?)。
如若未配置过环境变量,请直接进入安装路径,/Mysql/MySQL Server 8.0/bin, 然后进行一系列的操作
卸载mysqld
sc delete mysql (我之前多安装了一个)
停止mysql服务
net stop mysqlXX (XX具体看你版本,打开服务,查看运行的是MySQL多少,这里XX就是多少),比如我是80,我就是net stop mysql80
mysql8.0以上跳过密码验证的指令不一样
mysqld --console --skip-grant-tables --shared-memory
如上命令启动后重新管理员身份打开cmd,再次进入该目录,然后直接登录
mysql
之后就是修改密码的操作了
FLUSH PRIVILEGES;
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘你的密码’;
到此问题解决,node能正常访问数据库啦,其实发这篇文章更多的是疏解压力。。。抱怨专用,如果有其他疑问可以留言,可以帮忙解决,谢谢。