我正在使用mysql数据库在MacOS Mojave 10.14.6中构建一个博览会应用程序。我想创建忘记密码的页面,需要向用户发送电子邮件通知以重置password.So我正在编写一个Node. js程序,该程序将连接到Mysql。但我出错了。
下面是Node. js数据库程序:
数据库. js:
var mysql=require('mysql2');
var connection=mysql.createConnection({
host:'localhost',
user:'root',
password:'',
database:'*******'
});
connection.connect((err) => {
if(!err)
console.log('Database is connected!');
else
console.log('Database not connected! : '+ JSON.stringify(err, undefined,2));
});
module.exports = connection;
运行上述程序后,我收到以下错误:
Database not connected! : {
"code": "ER_ACCESS_DENIED_ERROR",
"errno": 1045,
"sqlState": "28000",
"sqlMessage": "Access denied for user 'root'@'localhost' (using password: NO)"
}
我尝试使用以下命令在Mysql Workbench中更改密码:
通过'Test123'更改用户'root'@'localhost'标识为mysql_native_password;但它给出了一个错误:
ALTER和SYSTEM USER的使用不正确。
我可以使用用户名和密码从Mysql Workbench连接到数据库。有人能说我哪里出错了吗。提前感谢。
实际上,我在Google Cloud Platform中拥有具有单独主机名、用户名和密码的mysql数据库。我可以通过提供正确的凭据来连接该数据库。
下面是数据库. js代码:
var mysql=require('mysql2');
var connection=mysql.createConnection({
host:'78.89.***.**',
user:'Poornima',
password:'test123',
database:'testdb'
});
connection.connect((err) => {
if(!err)
console.log('Database is connected!');
else
console.log('Database not connected! : '+ JSON.stringify(err,
undefined,2));
});
module.exports = connection;
输出如下:
Database is connected!