2016-12-22 2 views
0

Я не могу подключиться к MySQL с помощью nodejsnodejs подключается к LocalMachine вместо 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.16 это мой LocalMachine Ipaddress когда IAM пытается подключиться к 192.168.11.178. Я могу легко подключиться с помощью PHP, но не используя nodejs.

Также я пробовал с mysql -u ecommerce -p -h 192.168.11.178 был успешно. Также в рамках привилегий я подстановочные (%)

Иам с помощью MySQL: 2.12.0

+0

Вы неправильно поняли сообщение об ошибке: этот IP должен быть вашим, а не сервером. Так что все в порядке. –

+0

, но я могу легко подключиться к php на моей локальной машине с тем же пользователем, также я могу подключиться с помощью терминала –

+0

. Это не меняет то, что означает IP-адрес в ошибке. Шутки в сторону. –

ответ

0

PHP является технологией на стороне сервера, так будет работать на сервере. Очевидно, вы связали свой экземпляр mysql с 192.168.11.178, который был подтвержден вашим успешным подключением к терминалу. Возможно, вы также запускали это на сервере базы данных? Если это так, возможно, вам нужно обновить свои привилегии пользователя, чтобы ecommerce'@'192.168.11.16, используя свой пример:

grant select on ecommerce.* to 'ecommerce'@'192.168.11.16' identified by 'adhgfhjgfh'; 

Изменить, чтобы привилегии, которые вы хотите.

Смежные вопросы