mysql - Openshift nodejs mysql 查询崩溃

标签 mysql node.js openshift

我最近将我的应用程序从本地主机移到了 openshift。问题是当我尝试从 mysql 数据库中获取内容时会抛出错误。

/var/lib/openshift/55ace15350044671b700010b/app-root/runtime/repo/server.js:40
                                        if (err) throw err;
                                                       ^
Error: getaddrinfo ENOTFOUND
    at errnoException (dns.js:37:11)
    at Object.onanswer [as oncomplete] (dns.js:124:16)

查询:

mysqlConnection.query('SELECT * FROM user WHERE email = ' + "'" + json["email"] + "'", function (err, rows, fields) {
                    if (err) throw err;
                    if (rows.length !== 0) {
                        if (bcrypt.compareSync(json["password"], decoder.write(rows[0].password))) {
                            ws.send("Password correct");
                        } else {
                            ws.send("Login password wrong");
                        }
                    }
                    else {
                        ws.send('Invalid email');
                        console.log("Invalid email || no rows");
                    }});    

Mysql连接初始化:

var mysqlConnection = mysql.createConnection({ //connect to mysql database
  host     : 'mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/',
  user     : 'admin5x6cGHA',
  password : '************',
  database : 'dibsserver'
 ,debug    :  true
});

最佳答案

快速回答:替换这一行

 host     : 'mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/',

通过

 host     : 'mysql://' + process.env.OPENSHIFT_MYSQL_DB_HOST + ':' + process.env.OPENSHIFT_MYSQL_DB_PORT + '/',

再长一点:

在 Node.JS 中,您可以使用 process.env supper global 来访问环境变量。

关于mysql - Openshift nodejs mysql 查询崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538631/

相关文章:

php - 如何最好地设置 MySQL 关系数据库?

javascript - UMD 模式中的全局上下文

docker - Openshift监控-cAdvisor + Prometheus-Docker

php - 使用 php 和 mysql 的用户可配置表单

mysql - 使用子查询删除更高效

android - 错误: Requiring module "node_modules\react-native-reanimated\src\Animated.js"

python - 无法使用requirements.txt文件在Openshift python 3.3盒上安装最新的python包

kubernetes - 来自cert-manager的证书请求,卡在OpenShift CRC(代码就绪容器)中

mysql - 编写sql查询来计算产品

javascript - 如何按 createdAt 列的日期部分分组?