使用节点连接到远程 mysql 数据库
connection to a remote mysql database using node
大家早上好。我想使用节点 js 建立到远程 mysql 数据库的连接。但我正面临这个错误。不知道是不是我错误的指定了db
的访问路径
代码
var mysql = require('mysql');
var pool = mysql.createPool({
host: "http://kamerun-it.com/mysql",
connectionLimit : 100,
database: "****",
user: "****",
password: "*****",
multipleStatements: true
});
错误
throw err;
^
错误:getaddrinfo ENOTFOUND http://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 (internal/modules/cjs/loader.js:973:10)
在 Module.load (internal/modules/cjs/loader.js:812:32)
在 Function.Module._load (internal/modules/cjs/loader.js:724:14)
在 Module.require (internal/modules/cjs/loader.js:849:19) {
错误号:'ENOTFOUND',
代码:'ENOTFOUND',
系统调用:'getaddrinfo',
主机名:'http://kamerun-it.com/mysql',
致命:真实
}
您的主机配置可能有误 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);
}
);
第二个returns同样ENOTFOUND
错误。
检查是否正确URL,是否可以远程访问数据库以及您可以通过哪个端口使用它。
大家早上好。我想使用节点 js 建立到远程 mysql 数据库的连接。但我正面临这个错误。不知道是不是我错误的指定了db
的访问路径代码
var mysql = require('mysql');
var pool = mysql.createPool({
host: "http://kamerun-it.com/mysql",
connectionLimit : 100,
database: "****",
user: "****",
password: "*****",
multipleStatements: true
});
错误
throw err;
^
错误:getaddrinfo ENOTFOUND http://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 (internal/modules/cjs/loader.js:973:10) 在 Module.load (internal/modules/cjs/loader.js:812:32) 在 Function.Module._load (internal/modules/cjs/loader.js:724:14) 在 Module.require (internal/modules/cjs/loader.js:849:19) { 错误号:'ENOTFOUND', 代码:'ENOTFOUND', 系统调用:'getaddrinfo', 主机名:'http://kamerun-it.com/mysql', 致命:真实 }
您的主机配置可能有误 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);
}
);
第二个returns同样ENOTFOUND
错误。
检查是否正确URL,是否可以远程访问数据库以及您可以通过哪个端口使用它。