ER_NOT_SUPPORTED_AUTH_MODE

来源:6-2 数据库操作(创建和增、删、查)

默笙轻歌

2020-04-02

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

写回答

4回答

默笙轻歌

提问者

2020-04-03

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

0
0

默笙轻歌

提问者

2020-04-03

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

0
0

默笙轻歌

提问者

2020-04-03

问题解决了,修改了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
0

双越

2020-04-02

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

0
6
双越
回复
默笙轻歌
额,,这就怪异了。con 上没有 query 方法,这看来是 mysql 这个 npm 包的问题呀。。这没有太好的办法。要不你重新 npm i 安装一下。
2020-04-03
共6条回复

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程