[使用节点连接到远程mysql数据库

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

大家好。我想使用节点js建立到远程mysql数据库的连接。但是我正面临着这个错误。我不知道是否错误地指定了对数据库的访问路径

代码

var mysql = require('mysql');

var pool = mysql.createPool({
  host: "http://kamerun-it.com/mysql",
  connectionLimit : 100,
  database: "****",
  user: "****",
  password: "*****",
  multipleStatements: true

});

错误

  throw err;
  ^

错误:getaddrinfo ENOTFOUNDhttp://kamerun-it.com/mysql在GetAddrInfoReqWrap.onlookup上(作为完成时)(dns.js:60:26)--------------------在Protocol._enqueue(F:\ kamerun it \ aspi-api \ node_modules \ mysql \ lib \ protocol \ Protocol.js:144:48)在Protocol.handshake(F:\ kamerun it \ aspi-api \ node_modules \ mysql \ lib \ protocol \ Protocol.js:51:23)在PoolConnection.connect(F:\ kamerun it \ aspi-api \ node_modules \ mysql \ lib \ Connection.js:119:18)在Pool.getConnection(F:\ kamerun it \ aspi-api \ node_modules \ mysql \ lib \ Pool.js:48:16)在对象。 (F:\ kamerun it \ aspi-api \ app \ model \ db.js:16:8)在Module._compile(internal / modules / cjs / loader.js:956:30)在Object.Module._extensions..js(内部/模块/cjs/loader.js:973:10)在Module.load(internal / modules / cjs / loader.js:812:32)在Function.Module._load(内部/模块/cjs/loader.js:724:14)在Module.require(internal / modules / cjs / loader.js:849:19){errno:“ ENOTFOUND”,代码:“ ENOTFOUND”,syscall:“ getaddrinfo”,主机名:“ http://kamerun-it.com/mysql”,致命的:真实}

mysql node.js connection
1个回答
0
投票

您使用主机URL的配置中可能有一个错误。

这是一个与远程MySQL连接的有效示例:

const mysql = require("mysql");

const connection = mysql.createPool({
  host: "remotemysql.com",
  user: "aKlLAqAfXH",
  password: "PZKuFVGRQD",
  database: "aKlLAqAfXH"
});

connection.query(
  "SELECT hexcode FROM colours WHERE precedence = 2",
  (err, result) => {
    err ? console.log(err) : console.log(result[0].hexcode);
  }
);

这里是主机参数错误的一个:

const mysql = require("mysql");

const connection = mysql.createPool({
  host: "WRONGremotemysql.com",
  user: "aKlLAqAfXH",
  password: "PZKuFVGRQD",
  database: "aKlLAqAfXH"
});

connection.query(
  "SELECT hexcode FROM colours WHERE precedence = 2",
  (err, result) => {
    err ? console.log(err) : console.log(result[0].hexcode);
  }
);

第二个返回相同的ENOTFOUND错误。

检查这是否是正确的URL,是否可以远程访问数据库以及可以通过哪个端口使用它。

© www.soinside.com 2019 - 2024. All rights reserved.