尝试连接时,MySQL正在连接到不同的未知IP。下面的代码:
. env
MYSQL_HOST=domain.example.com
MYSQL_USER=****
MYSQL_PASSWORD=****
MYSQL_DB=****
MYSQL_PORT=3306
连接. js
const mysql = require("mysql");
exports.pool = mysql.createPool({
connectionLimit: 10,
host: process.env.MYSQL_HOST,
port: process.env.MYSQL_PORT,
user: process.env.MYSQL_USER,
password: process.env.MYSQL_PASSWORD,
database: process.env.MYSQL_DB,
});
控制器
pool.getConnection((err, connection) => {
if (err) {
console.log("ERROR: ", err);
} else { ... insert data .... }
});
有了这个,我得到了错误:
try connecting to remote mysql...
Error: Error: ER_ACCESS_DENIED_ERROR: Access denied for user '****'@'112.200.198.66' (using password: YES)
在MySQL工作台测试并成功连接。我只是好奇当该域的公共IP不同时,IP来自哪里。也尝试使用IP来连接,但仍然给我同样的错误。
如果您使用的是MySQL 8,问题可能是Node mysql驱动程序使用了不同的身份验证插件-请参阅Node. js无法对MySQL 8.0进行身份验证