无法使用Node.js(OpenShift应用程序)连接到MySQL数据库

用户名

我有一个带有MySQL数据库(因为这是我最熟悉的)的nodejs(带有快速)openshift应用程序,我无法弄清楚如何在本地环境上连接它。我的最后一个项目是使用带有mamp的php框架连接到本地数据库。节点的等效项是什么?这是我必须连接的代码:

 var mysql = require('mysql');

 var connection = mysql.createConnection({
  host     : '127.0.0.1',
  port     : '3307',
  database : 'test'

});

 connection.connect( function(err){
if (err){ 
    throw err;
}
else {
    console.log('Connected');
}
 });

这是尝试本地连接时的错误:

 Error: connect ETIMEDOUT
    at errnoException (net.js:901:11)
    at Object.afterConnect [as oncomplete] (net.js:892:19)
    --------------------
    at Protocol._enqueue (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:110:26)
    at Protocol.handshake (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:42:41)
    at Connection.connect (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/Connection.js:98:18)
    at Object.<anonymous> (/Users/brandonmoffitt/stembudsnode/server.js:16:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)

我猜是因为我试图本地连接到openshift设置的MySQL数据库,所以我收到错误。我只是不知道还有什么可以在这里尝试。我也尝试过没有密码的情况。

如果我将主机切换到localhost,这是我收到的错误:

Error: ER_DBACCESS_DENIED_ERROR: Access denied for user ''@'localhost' to database 'stembuds'
at Handshake.Sequence._packetToError (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/sequences/Sequence.js:30:14)
at Handshake.ErrorPacket (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/sequences/Handshake.js:91:18)
at Protocol._parsePacket (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:202:24)
at Parser.write (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Parser.js:62:12)
at Protocol.write (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:37:16)
at Socket.<anonymous> (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/Connection.js:72:28)
at Socket.EventEmitter.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:736:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:408:10)
--------------------
at Protocol._enqueue (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:110:26)
at Protocol.handshake (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:42:41)
at Connection.connect (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/Connection.js:98:18)
at Object.<anonymous> (/Users/brandonmoffitt/stembudsnode/server.js:16:12)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)

很抱歉,本文的篇幅太长,我只是不知道为什么它不起作用。

编辑:

我打开了openshift外壳,查看mysql设置。当我执行“ show grants \ g”命令时,这是我收到的信息:

  Grants for [email protected]

  GRANT ALL PRIVILEGES ON *.* TO 'adminMYXaSuf'@'127.11.28.130' IDENTIFIED BY PASSWORD '*D0CE5FA2AAD801A33C9190D0B615CC92F364BE6B' WITH GRANT OPTION

此密码不同于所提供的一个openshift。

用户名

看来您是在本地计算机上运行此程序?如果要从本地计算机连接到OpenShift上的mysql数据库,则需要使用rhc port-forward命令,并查看它为mysql提供的端口,然后将ip设​​置为127.0.0.1并连接到3307之类的端口,或者它为您提供的本地服务。测试连接时,请保持port-forward命令运行。您也可以尝试将代码推送到openshift并使用您拥有的值运行它(或使用可以通过env | grep MYSQL获得的mysql环境变量),然后查看其是否有效。

127.xxx不是公开可用的IP地址,它们是该服务器的私有地址,这就是为什么您无法从计算机连接到它,并且需要使用rhc port-forward命令的原因

这对我有用:

var mysql = require('mysql');

 var connection = mysql.createConnection({
  host     : '127.0.0.1',
  port     : '3306',
  user     : 'admind4DxYD5',
  password : 'some_pass',
  database : 'developercorey'
 });

 connection.connect( function(err){
if (err){ 
    throw err;
}
else {
    console.log('Connected');
}
 });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从Vibed应用程序连接到MySQL / MariaDB数据库

来自分类Dev

Spring应用程序拒绝使用指定的用户名连接到MySql数据库

来自分类Dev

如何使用Php将Android应用程序连接到Amazon RDS MySQL数据库?

来自分类Dev

无法使用Sequelize从本地节点应用程序连接到Heroku Postgresql数据库

来自分类Dev

无法使用Rails应用程序连接到sqlite3数据库

来自分类Dev

无法将Azure App Services中的NodeJS应用程序连接到Azure MySQL数据库

来自分类Dev

通过Node JS App在OpenShift中连接到MySQL数据库时出错

来自分类Dev

如何使用Php将我的Android应用程序连接到Amazon RDS MySQL数据库?

来自分类Dev

boxfuse应用程序无法连接到RDS数据库

来自分类Dev

无法从我的Django Web应用程序连接到Amazon RDS Postgres数据库

来自分类Dev

boxfuse应用程序无法连接到RDS数据库

来自分类Dev

无法在Android应用程序中连接到在线数据库

来自分类Dev

Maven 应用程序无法连接到数据库服务器

来自分类Dev

Elastic Beanstalk 应用程序无法连接到数据库,但服务器可以

来自分类Dev

我的 Django 应用程序无法通过 TypeError 连接到数据库

来自分类Dev

无法从 RHEL 7 上的 .Net 核心应用程序连接到 SQL Server 数据库

来自分类Dev

无法将 App Engine 上的 Laravel 应用程序连接到 Cloud SQL 数据库

来自分类Dev

使用实体框架从MVC应用程序连接到现有Azure数据库

来自分类Dev

如何使用JNDI将Java应用程序连接到数据库?

来自分类Dev

如何使用JNDI将Java应用程序连接到数据库?

来自分类Dev

使用实体框架从MVC应用程序连接到现有Azure数据库

来自分类Dev

使用托管的Web应用程序连接到SQL Server数据库

来自分类Dev

使用 NameCheap 将数据库连接到应用程序

来自分类Dev

可以通过Navicate连接mysql数据库,但无法从C#应用程序连接

来自分类Dev

无法通过JWS应用连接到MySQL数据库

来自分类Dev

无法从JavaFX应用程序连接远程MySQL数据库

来自分类Dev

在Node.js应用程序中传递数据库连接

来自分类Dev

无法从Windows窗体应用程序中的app.config连接到本地SQL数据库

来自分类Dev

无法从Windows窗体应用程序中的app.config连接到本地SQL数据库

Related 相关文章

  1. 1

    无法从Vibed应用程序连接到MySQL / MariaDB数据库

  2. 2

    Spring应用程序拒绝使用指定的用户名连接到MySql数据库

  3. 3

    如何使用Php将Android应用程序连接到Amazon RDS MySQL数据库?

  4. 4

    无法使用Sequelize从本地节点应用程序连接到Heroku Postgresql数据库

  5. 5

    无法使用Rails应用程序连接到sqlite3数据库

  6. 6

    无法将Azure App Services中的NodeJS应用程序连接到Azure MySQL数据库

  7. 7

    通过Node JS App在OpenShift中连接到MySQL数据库时出错

  8. 8

    如何使用Php将我的Android应用程序连接到Amazon RDS MySQL数据库?

  9. 9

    boxfuse应用程序无法连接到RDS数据库

  10. 10

    无法从我的Django Web应用程序连接到Amazon RDS Postgres数据库

  11. 11

    boxfuse应用程序无法连接到RDS数据库

  12. 12

    无法在Android应用程序中连接到在线数据库

  13. 13

    Maven 应用程序无法连接到数据库服务器

  14. 14

    Elastic Beanstalk 应用程序无法连接到数据库,但服务器可以

  15. 15

    我的 Django 应用程序无法通过 TypeError 连接到数据库

  16. 16

    无法从 RHEL 7 上的 .Net 核心应用程序连接到 SQL Server 数据库

  17. 17

    无法将 App Engine 上的 Laravel 应用程序连接到 Cloud SQL 数据库

  18. 18

    使用实体框架从MVC应用程序连接到现有Azure数据库

  19. 19

    如何使用JNDI将Java应用程序连接到数据库?

  20. 20

    如何使用JNDI将Java应用程序连接到数据库?

  21. 21

    使用实体框架从MVC应用程序连接到现有Azure数据库

  22. 22

    使用托管的Web应用程序连接到SQL Server数据库

  23. 23

    使用 NameCheap 将数据库连接到应用程序

  24. 24

    可以通过Navicate连接mysql数据库,但无法从C#应用程序连接

  25. 25

    无法通过JWS应用连接到MySQL数据库

  26. 26

    无法从JavaFX应用程序连接远程MySQL数据库

  27. 27

    在Node.js应用程序中传递数据库连接

  28. 28

    无法从Windows窗体应用程序中的app.config连接到本地SQL数据库

  29. 29

    无法从Windows窗体应用程序中的app.config连接到本地SQL数据库

热门标签

归档