使用node js连接远程mysql时如何修复连接超时错误?

问题描述 投票:0回答:1

我一直在尝试使用 Node js 连接到 mysql db remotley。在我的托管提供商迁移到较新的 cpanel 版本(因为安装 SSL 证书)之前一切正常,但从那时起我总是遇到错误连接超时。

我仔细检查了连接参数(主机名、用户名、数据库等),它们是正确的,我还将我的 IP 地址(我连接的电脑)添加到 cpanel 中的白名单中。我什至尝试使用 mysql 工作台进行连接,但它也不行。 这是我的连接字符串:

import mysql from "mysql2"

   const pool = mysql.createPool({
   host: '******',
   user: '*********',
   password: '*****',
   database: '******',
   connectionLimit:100,
   port:3306
  
  
   }).promise()

    pool.getConnection((err, connection) => {
     if (connection) {
     console.log("Connected")
     }

我认为由于某种原因,我的 root 用户在这次迁移期间失去了所有权限,因为当我尝试向 phpmyadmin 中的另一个用户添加权限时,我收到“用户 root@localhost 的访问被拒绝”,或者端口 3306 可能被阻止,但我不知道如何解决这个问题

mysql node.js phpmyadmin cpanel
1个回答
1
投票

如果你的数据库主机nodejs和mysql表头不同,就会 超时。

示例:nodejs 连接池主机是

127.0.0.1
,

pool = mysql.createPool({  
        host: "127.0.0.1",
        user: "user",
        password: "",
        database: "nodejs",
        port: 3306,
    });

mysql 主机是

localhost

Source Server         : localhost
Source Server Version : 50624
Source Host           : localhost:3306
Source Database       : nodejs

Target Server Type    : MYSQL
Target Server Version : 50624
File Encoding         : 65001
© www.soinside.com 2019 - 2024. All rights reserved.