NodeJS到本地主机(NAS)的mySQL连接
我正在创建一个运行在NodeJS到本地主机(NAS)的mySQL连接,mysql,node.js,connection,localhost,Mysql,Node.js,Connection,Localhost,我正在创建一个运行在localhost:3000上的NodeJS应用程序。我还尝试使用以下代码在Synology NAS上建立mySQL连接: var mysql = require('mysql'); var connection = mysql.createConnection({ host : '192.168.1.17', port : 3306, user : 'root', password : 'password' });
localhost:3000
上的NodeJS应用程序。我还尝试使用以下代码在Synology NAS上建立mySQL连接:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '192.168.1.17',
port : 3306,
user : 'root',
password : 'password'
});
connection.connect( function(err) {
if (err)
console.log(err);
else
console.log('connected');
});
不幸的是,控制台一直显示错误
ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'192.168.1.15'
奇怪的是,我正试图连接到192.168.1.17
上的NAS站,但控制台显示主机是.15
。有人能解释一下为什么吗
我也在谷歌上搜索过这个问题,但是从中为根用户授予特权的解决方案似乎不起作用
有人能帮我吗?
192.168.1.15
是你吗,你的节点应用程序在你的电脑上运行,可能你没有root%
的访问列表,其中%
意味着从任何地方,你只有root@localhost
但您不在Mysql localhost上
您可以使用必须在mysql服务器上运行的mysql命令添加它:
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
我已经解决了我的问题:
似乎根用户在默认情况下是安全的
CREATE USER 'newuser'@'%' IDENTIFIED BY 'choseAPassword';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
FLUSH PRIVILEGES;
@米切莱姆:谢谢你的帮助;) 谢谢你的回复。我已经尝试过,但会出现以下错误:
#1396-为“root”@“%
创建用户的操作失败。我想我必须在标识符中插入我自己的密码?虽然我两个都试过了,但都不起作用。我正在我的服务器(localhost)上使用phpMyAdmin中的SQL选项卡。