Error: MySQL server is requesting the old and insecure pre-4.1 auth mechanism.

本文介绍了一种在Node.js中使用mysql模块遇到的关于MySQL请求旧认证机制的问题及其解决方案。通过设置`insecureAuth:true`选项,可以解决因密码认证机制过时导致的连接错误。
Error: MySQL server is requesting the old and insecure pre-4.1 auth mechanism.Upgrade the user password or use the {insecureAuth: true} option.
    at Handshake.UseOldPasswordPacket (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/protocol/sequences/Handshake.js:49:15)
    at Protocol._parsePacket (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/protocol/Protocol.js:172:24)
    at Parser.write (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/protocol/Parser.js:62:12)
    at Protocol.write (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/protocol/Protocol.js:37:16)
    at Socket.ondata (stream.js:51:26)
    at Socket.EventEmitter.emit (events.js:117:20)
    at Socket.<anonymous> (_stream_readable.js:720:14)
    at Socket.EventEmitter.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:392:10)
    at emitReadable (_stream_readable.js:388:5)
    --------------------
    at Handshake.Sequence (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:20)
    at new Handshake (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12)
    at Protocol.handshake (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/protocol/Protocol.js:42:50)
    at Connection.connect (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/Connection.js:73:18)
    at Connection._implyConnect (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/Connection.js:184:10)
    at Connection.query (/usr/local/nodejs_switch/switch_nodejs/node_modules/mysql/lib/Connection.js:98:8)
    at Object.<anonymous> (/usr/local/nodejs_switch/switch_nodejs/server.js:16:10)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)

    at Module.load (module.js:356:32)



请在连接mysql的地方加上:

 var clientDB = mysql.createConnection({
        user : 'root',
        password : 'passwrod',
        insecureAuth: true,     //加入此项可解决此错误!!!
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leekwen

您的鼓励,是我坚持更新的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值