由于本人是前端,mysql只是偶尔做一下小项目会用到,大概一年没有用了。
今天用mac通过brew下载了一个8.0.12版本的mysql;然后用egg进行连接,egg是阿里封装的一个nodejs框架。
下载到本地的mysql;初始密码我是留空的。
所以在nodejs项目中配置mysql连接数据的时候我的password=’’;
结果报错了:
Client does not support authentication protocol requested by server; consider upgrad
我怀疑是MySQL密码的问题;于是我到网上找了很多种修改密码方法:
//开启mysql服务
mysql.server start
//进入mysql
mysql -u root -p
//修改密码方案1(错)
USE mysql SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('密码');
//修改密码方案2(错)
UPDATE mysql.user SET Password = OLD_PASSWORD('密码')WHERE Host = 'localhost' AND User = 'root';
//修改密码方案3(对)
USE mysql;
ALTER USER 'root'@'localhost'IDENTIFIED WITH mysql_native_password BY '密码';
//重启
FLUSH PRIVILEGES;
修改密码后的nodejs项目的配置文件
client: {
// host
host: 'localhost',
// 端口号
port: '3306',
// 用户名
user: 'root',
// 密码
password: '123456',
// 数据库名
database: 'blog',
},
最后用了方案3终于连接上了;记住你运行nodejs项目时一定要先将mysql的服务打开,不然也是连不上的。