首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误数据库连接不是一个函数Nodejs与Mysql在码头

错误数据库连接不是一个函数Nodejs与Mysql在码头
EN

Stack Overflow用户
提问于 2022-02-10 17:19:59
回答 1查看 63关注 0票数 2

我已经部署了我的docker应用程序(到DigitalOcean)。一切正常,但我无法将mysql与nodejs连接起来。

当我运行docker-compose up时,我得到了错误,database.connect不是函数

我的server.js文件如下所示

代码语言:javascript
复制
const mysql = require("mysql");

const database = mysql.createPool({
    host: process.env.MYSQL_HOST_IP,
    user: "db_user",
    password: "db_user_pass",
    database: "guess-game",
    port: 3306,
});

database.connect((err) => {
    if (err) {
        console.error("error connecting: " + err.stack);
        return;
    }
    console.log("connected as id " + db.threadId);
});

module.exports = db;

我不知道我需要写什么才能让它起作用。

代码语言:javascript
复制
host: process.env.MYSQL_HOST_IP,

我试图添加液滴IP作为主机,但这也是不工作的。

代码语言:javascript
复制
host: "http://46.101.162.111/",

还有,我试试这个。

代码语言:javascript
复制
host: "46.101.162.111",

我的docker-compose.yml文件

代码语言:javascript
复制
version: "3"

networks:
  dbnet:

services:
  phpmyadmin: 
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin1
    environment: 
      - PMA_ARBITRARY=1
      - PMA_HOST=db
    restart: always
    links:
      - db
    ports: 
      - 8899:80
    depends_on:
      - db
    networks:
      - dbnet

  api:
    build: ./api
    container_name: api1
    command: npm run start
    restart: unless-stopped
    ports:
      - "3005:3005"
    environment: 
      - PORT=3005
      - MYSQL_HOST_IP=172.18.0.2
    depends_on:
      - phpmyadmin
    networks:
      - dbnet

  db: 
    image: mysql:latest
    container_name: db
    command: --default-authentication-plugin=mysql_native_password
    environment:
      - MYSQL_ROOT_PASSWORD=my_secret_password
      - MYSQL_DATABASE=guess-game
      - MYSQL_USER=db_user
      - MYSQL_PASSWORD=db_user_pass
    restart: always
    ports: 
      - 6033:3306
    networks:
      - dbnet

挣扎了将近3天。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-10 19:39:41

您只需指定DB容器名称,而不是如下所示的IP:

代码语言:javascript
复制
MYSQL_HOST_IP=db
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71069520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档