我正在创建一个在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
。有人能解释我为什么吗?
我也用Google搜索了这个问题,但是从this stack topic授予root用户权限的解决方案似乎不起作用。
有人可以帮助我吗?
答案 0 :(得分:2)
192.168.1.15
您是在您的PC上运行的节点应用,可能您还没有root@%
的访问列表,其中%
来自任何地方,您只有访问列表对于root@localhost
,但您不在Mysql localhost上。
您可以使用必须在mysql服务器上运行的mysql命令添加它:
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
答案 1 :(得分:0)
我已经解决了我的问题: 似乎root用户默认是安全的。
.flex {
display: -webkit-box;
display: flex;
height: 100px;
width: 100%;
}
.flex > div {
flex-grow: 1;
flex-shrink: 1;
/* set value for the flex basis, the two properties above will evenly
divide the space. */
flex-basis: 20px;
-webkit-flex-grow: 1;
-webkit-flex-shrink: 1;
margin: 15px;
overflow: hidden;
}
.example {
overflow: hidden;
border: 1px solid black;
}
.example .wide {
width: 400px;
height: 10px;
}
@Michelem感谢您的帮助;)