我是节点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'));
});
答案 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;。