我和我的合作伙伴正在使用MySQL、Express和Node,同时使用MySQL工作台在本地机器上设置的数据库。下面是我用来连接到数据库的代码。
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '****',
database: 'events',
port: '3306'
})
我们试了一点时间来解决这个问题,但在我们同意明天开会之前没有解决。
以下是我到目前为止提出的内容,看看明天是否能解决问题:
- 在[mysql]部分正下方的my.ini文件中添加了"bind-address=0.0.0.0">
- 为我的合作伙伴创建了一个root2用户,以代替他的连接代码中的root用户,主机为%,而不是localhost,在mysql命令行上使用命令
GRANT ALL PRIVILEGES ON events.* TO 'root2'@'%';
- 已调整防火墙设置以考虑端口3306
最后一步是将我的合作伙伴的host: 'localhost'
更改为我机器的ip地址吗?我的合作伙伴使用MySQL工作台连接会更容易/更必要吗?或者他需要下载其他东西才能工作吗?
- 检查MySQL服务器的错误日志
- 从
mysql.user
中选择主机用户 - 检查您的
firewalld(linux)
,然后关闭。检查my.ini(windows) bind-address