请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

ER_NOT_SUPPORTED_AUTH_MODE

详细报错为ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client;已经尝试过alter root,并且flush了 新的权限;此问题可能是因为node和MySQL不兼容引起,可是我不知道怎么办…求救!~

正在回答 回答被采纳积分+3

4回答

提问者 默笙轻歌 2020-04-03 18:33:27

问题最终解决:在conf>db.js中为env赋值失败,导致接下来的if判断都为false,所以MYSQL_CONF成为未定义,有初始化的同学可能使空对象,所以只要解决了env赋值失败就ok了,我最后直接给 const env = 'dev',然后就常规会按照程序正常执行了

0 回复 有任何疑惑可以回复我~
提问者 默笙轻歌 2020-04-03 10:01:05

问题来了:我这样做虽然解决了链接不上数据库的问题,可是此时的con就没有query方法了!求解

0 回复 有任何疑惑可以回复我~
提问者 默笙轻歌 2020-04-03 08:56:20

问题解决了,修改了conf>db.js;

原来的:

    MYSQL_CONF =  {

        host: 'localhost',

        user: 'root',

        password: '1q2w3e4r5t',

        port: '3306',

        database: 'myblog'

    }

现在的:

    function MYSQL_CONF() {

        const con = mysql.createConnection({

            host: 'localhost',

            user: 'root',

            password: '1q2w3e4r5t',

            port: '3306',

            database: 'myblog'

        });

        con.connect();

    }

修改了db>mysql.js

原来的:

    const con =mysql.createConnection(MYSQL_CONF)

    con.connect();

现在的:

    const con = MYSQL_CONF;

然后就木的报错了!

0 回复 有任何疑惑可以回复我~
双越 2020-04-02 19:38:07

你用客户端或者 cli 可以登录吗?还是就只有 node 连不上?

0 回复 有任何疑惑可以回复我~
  • 提问者 默笙轻歌 #1
    我的workbench可以登录,别的没试过
    回复 有任何疑惑可以回复我~ 2020-04-02 19:39:19
  • 提问者 默笙轻歌 #2
    blog里的其他答案我也试过了,但是还不行,老师用的的是什么版本?
    回复 有任何疑惑可以回复我~ 2020-04-02 19:40:04
  • 双越 回复 提问者 默笙轻歌 #3
    回复 养乐多3961580: 我用的是 mysql 8.0
    回复 有任何疑惑可以回复我~ 2020-04-02 20:15:05
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信