如何在Node.js中使用真实IP连接远程MySQL数据库?配置后连接失败
Node.js 连接远程MySQL数据库常见问题排查
你的配置代码
module.exports = { host: '234.32432.32432',//this is example IP not a real one. user: 'bob', password: '*****', database: '****', port: 3306, dialect: 'mysql', }
排查步骤
- 检查网络与端口连通性:在本地终端执行
ping 你的远程服务器IP测试网络是否可达,再用telnet 你的远程服务器IP 3306验证3306端口是否开放。如果不通,优先排查服务器防火墙或云服务商安全组是否拦截了3306端口。 - 验证MySQL用户远程访问权限:远程MySQL默认限制本地登录,需给
bob用户授权远程访问。登录服务器端MySQL,执行以下命令:
可将GRANT ALL PRIVILEGES ON 你的数据库名.* TO 'bob'@'%' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES;%替换为你的本地IP以提升安全性,替换后记得刷新权限。 - 修正MySQL绑定地址配置:找到服务器上的MySQL配置文件(通常为
my.cnf或my.ini),将bind-address字段从127.0.0.1改为0.0.0.0或服务器公网IP,修改后重启MySQL服务。 - 核对配置参数准确性:确认
password、database字段拼写完全正确,注意MySQL是否开启了表名/库名大小写敏感。 - 用基础脚本测试连接:排除ORM框架干扰,写极简脚本测试:
若仍报错,根据具体错误信息进一步定位问题。const mysql = require('mysql'); const connection = mysql.createConnection({ host: '你的远程IP', user: 'bob', password: '你的密码', database: '你的数据库名' }); connection.connect((err) => { if (err) { console.error('连接失败:', err); return; } console.log('连接成功!'); });
内容的提问来源于stack exchange,提问作者symix world
相关产品推荐
相关产品推荐

