远程 MySQL: 如何在 windows 10 中设置远程 mysql 服务器

Remote MySQL: How to set up remote mysql server in windows 10

// 下面有新更新

我刚刚发布了一个用于早期 alpha 测试的应用程序,但我收到此错误 => address: "127.0.0.1" code: "ECONNREFUSED" errno: -111 fatal: true port: 3306 syscall: "connect"。我搜索了一下,发现这是因为 MySQL 不允许本地主机以外的连接。再次搜索后,我遇到了这两个教程 (1st) (2nd),但 运行 遇到了一些麻烦,但仍然无法正常工作。我的前端是[这里][3],服务器是[这里][4](已删除)。在 .\mysql.exe -u username -h root -p. Replace mnhs-shs.herokuapp.commysql 之后:显示 [Warning] Using a password on the command line interface can be insecure.。它没有错误,但我仍然无法通过服务器连接到数据库

我做的步骤:

  1. 设置绑定地址 = 0.0.0.0
  2. 停止和开始MYSQL80
  3. 配置的防火墙
  4. 尝试通过 .\mysql.exe -u username -h root -p 连接。替换 mnhs-shs.herokuapp.com
  5. 创建用户 'username'@'mnhs-shs.herokuapp.com' 'password';
  6. . 上授予创建、更改、删​​除、插入、更新、删除、SELECT、参考、重新加载到 'username'@'mnhs-shs.herokuapp.com' 有授予选项;
  7. ...前端还是报错111

数据库连接图片:

我已经通过

连接到数据库

const mysql = require('mysql')
const connection = mysql.createPool({
    host: process.env.DB_HOST,
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD,
    database: process.env.DB_DATABASE,
})
module.exports = connection

.env

DB_HOST=remotemysql.com

更新:我把哪个作为服务器?来自此 site

的代码

From there, type .\mysql.exe -u username -h X.X.X.X:XXXX -p. Replace X.X.X.X:XXXX with your remote server IP address and port number (eg. 100.200.100.200:3306) and username with a MySQL username that allows remote access (such as root). Follow any additional on-screen instructions.

我只是把上面的第 4 步放在一起

想通了。 给未来的自己: 这不是本地主机唯一的错误。 如果要部署到 heroku,.env、gitignore 和 dotenv 模块是不够的。 Heroku config vars 让它工作,参考下面的link。 https://devcenter.heroku.com/articles/config-vars.