Javascript 通过node.js连接mysql时拒绝访问

Javascript 通过node.js连接mysql时拒绝访问,javascript,mysql,node.js,Javascript,Mysql,Node.js,我正在尝试通过node.js连接到mysql服务器主机:localhost,我对node.js真的很陌生,我不知道怎么做,请帮助 我用于连接到服务器的当前代码 var client = require('socket.io').listen(8080).sockets, mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root'

我正在尝试通过node.js连接到mysql服务器主机:localhost,我对node.js真的很陌生,我不知道怎么做,请帮助

我用于连接到服务器的当前代码

var client = require('socket.io').listen(8080).sockets,
    mysql = require('mysql');

var connection = mysql.createConnection({
    host : 'localhost',
    user : 'root',
    password : '',
    database : 'testDatabase',
    port : '3306'
});
connection.connect();
var strQuery = 'select * from users';

connection.query( strQuery, function(err, rows){
    if(err){
        throw err;
    }else{
        console.log(rows);
    }
});
connection.end();
这显然给出了下面的错误

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'prashanthsun9'@'localhost
' (using password: YES)
    at Handshake.Sequence._packetToError (C:\wamp\www\node_chat\js\node_modules\
mysql\lib\protocol\sequences\Sequence.js:30:14)
    at Handshake.ErrorPacket (C:\wamp\www\node_chat\js\node_modules\mysql\lib\pr
otocol\sequences\Handshake.js:99:18)
    at Protocol._parsePacket (C:\wamp\www\node_chat\js\node_modules\mysql\lib\pr
otocol\Protocol.js:205:24)
    at Parser.write (C:\wamp\www\node_chat\js\node_modules\mysql\lib\protocol\Pa
rser.js:62:12)
    at Protocol.write (C:\wamp\www\node_chat\js\node_modules\mysql\lib\protocol\
Protocol.js:37:16)
    at Socket.<anonymous> (C:\wamp\www\node_chat\js\node_modules\mysql\lib\Conne
ction.js:73:28)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:746:14)
    at Socket.EventEmitter.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:408:10)
    --------------------
    at Protocol._enqueue (C:\wamp\www\node_chat\js\node_modules\mysql\lib\protoc
ol\Protocol.js:110:48)
    at Protocol.handshake (C:\wamp\www\node_chat\js\node_modules\mysql\lib\proto
col\Protocol.js:42:41)
    at Connection.connect (C:\wamp\www\node_chat\js\node_modules\mysql\lib\Conne
ction.js:99:18)
    at Object.<anonymous> (C:\wamp\www\node_chat\js\server.js:11:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)

请帮忙,请帮忙

尝试查询时,连接尚未设置。 要调试,请更改此行:

connection.connect();


因此,您将获得连接不正常的原因的错误跟踪。

尝试将您的npm mysql版本升级到^2.1.1。

您是否能够使用该用户连接到该数据库,否则,例如使用?是吗?是的,我已经授予该用户访问该数据库的权限,我甚至创建了新用户和数据库,并给了新用户所有权限。基本上,上帝模式不起作用,我不知道我是否必须遵循一些特定的步骤来实现这一点,据我所知,我现在感觉很傻:
connection.connect(function(err, conn) {
    if(err) {
         console.log('MySQL connection error: ', err);
         process.exit(1);
    }

});