我无法使用nodejs连接到mysql
var DatabaseConnection = function (databaseParam) {
//var driver = databaseParam.database_driver;
this.connection = mysql.createConnection({
host: "192.168.11.178",
database: "ecommerce",
user: "ecommerce",
password: "adhgfhjgfh"
});
this.connection.connect(function (err) {
if(err){
throw err;
}
console.log('you are now connected to '+hostname);
});
ER_ACCESS_DENIED_ERROR: Access denied for user 'ecommerce'@'192.168.11.16' (using password: YES)
但是,当我尝试连接到 192.168.11.178
时,192.168.11.16
是我的本地计算机 IP 地址。我可以使用 PHP 轻松连接,但不能使用 Nodejs。
我还尝试使用 mysql -u ecommerce -p -h 192.168.11.178
成功了。另外,在特权下我有通配符(%)
我使用mysql:2.12.0
最佳答案
PHP 是一种服务器端技术,因此在服务器上运行。显然,您已经将 mysql 实例绑定(bind)到 192.168.11.178
,这已由成功的终端连接证明。也许您也在数据库服务器本身上运行了这个?如果是这种情况,您可能需要更新用户权限以允许 ecommerce'@'192.168.11.16
,使用您的示例:
grant select on ecommerce.* to 'ecommerce'@'192.168.11.16' identified by 'adhgfhjgfh';
修改以允许您想要的权限。
关于mysql - nodejs连接到本地机器而不是MYSQL服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41282807/