我正在开发一个django应用程序,其中有MySQL数据库。
我的django应用程序和数据库设置在一台机器上。在
现在我有另外两台机器在运行一个脚本,需要远程连接到我的主机上的MySQL数据库。在
所以在我的主机里。我已经做到了:sudo nano /etc/mysql/my.cnf
然后就变了
^{pr2}$
到bind-address = [my public ip address]
之后,我通过防火墙打开了对数据库端口的远程访问
通过运行:sudo ufw allow 3306/tcp
sudo service ufw restart
之后,我运行mysql并运行以下命令:CREATE USER newuser@[main machine ip address] IDENTIFIED BY 'my password';
GRANT ALL PRIVILEGES ON * . * TO newuser@[main machine ip address];
FLUSH PRIVILEGES;
现在,当我尝试从桌面应用程序远程连接到数据库时:
用户名:newuser@[我的公共ip地址]
密码:我的密码
端口:3306
数据库:我的数据库名称
主机:【我的公共ip地址】
它无法连接,并给出错误“访问被拒绝”。我还需要做些什么来让它正常工作吗?有什么想法吗?在
更新:
我尝试通过命令行从其他服务器连接到主服务器,方法是:
mysql -u newuser -p -h [my main server ip address]
以及mysql -u newuser@[my main server ip address] -p -h [my main server ip address]
它给出了一个错误:主机'[my local ip address]'不允许连接到此MySQL服务器