在节点js应用程序中将<username> @ <computername>更改为<username> @localhost

时间:2015-05-18 12:41:21

标签: mysql node.js

我是节点js的新手,我正在尝试将MySql与节点连接的示例。当我运行代码时,我得到了

Error while performing Query.Error: ER_ACCESS_DENIED_ERROR: 
Access denied for user <username>@<computername> (using password: YES)

问题是当我通过工作台使用 localhost 连接到Mysql时它成功但是当我使用&lt; computername&gt; 它给了我同样的错误。

我在package.json文件中添加了“mysql”:“^ 2.5.4”依赖。

所以任何人都可以帮助我如何更改&lt;的默认选项computername&gt; localhost

index.js文件

var app = express();
var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'myusername',
  password : 'mypassword',
  database : 'mydb'
});

app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));

app.get('/', function(request, response) {  

connection.connect();

connection.query('SELECT * from projects', function(err, rows, fields) {
  if (!err)
    console.log('The solution is: ', rows);
  else
    console.log('Error while performing Query.' + err);
});

connection.end();
response.send('Hello World !');
});

app.listen(app.get('port'), function() {
  console.log('Node app is running on port', app.get('port'));
});

1 个答案:

答案 0 :(得分:0)

尝试使用IP for localhost而不是字符串&#39; localhost&#39;为主人。默认值为127.0.0.1

var connection = mysql.createConnection({
  host     : '127.0.0.1',
  user     : 'myusername',
  password : 'mypassword',
  database : 'mydb'
});

编辑:

您实际上似乎可以连接到MYSQL,但不允许您的用户使用所选的数据库。确保您连接的用户可以访问数据库,例如“mydb&#39;。