如何在 LAMP(Python) 堆栈上打开远程 MySQL 连接

Posted

技术标签:

【中文标题】如何在 LAMP(Python) 堆栈上打开远程 MySQL 连接【英文标题】:How to open remote MySQL connection at a LAMP(Python) stack 【发布时间】:2016-08-30 14:13:24 【问题描述】:

我正在开发一个 django 应用程序,其中存在我的 mysql 数据库。 我的 django 应用程序和数据库设置在一台机器上。

现在我有 2 台其他机器正在运行一个脚本,需要远程连接到我的主机中的 MySQL 数据库。

所以在我的主机上。我已经这样做了:

sudo nano /etc/mysql/my.cnf

后来变了

bind-address           = 127.0.0.1

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]

它给了我这个错误:Host '[my local ip address]' is not allowed to connect to this MySQL server

【问题讨论】:

【参考方案1】:

不要做机器ip地址,允许任何主机'user'@'%'看看它是否有效。

如果是,请检查日志以查看您的主机名在服务器上显示的内容。

不需要更改绑定地址。

【讨论】:

以上是关于如何在 LAMP(Python) 堆栈上打开远程 MySQL 连接的主要内容,如果未能解决你的问题,请参考以下文章

Docker LAMP 堆栈

如何建立与远程数据库的连接?

sh 在CentOS上的LAMP堆栈上设置Laravel

如何更新 Bitnami LAMP 堆栈?

获取在 Vagrant VM 上运行的 LAMP 堆栈(在 Windows 7 主机下),完整说明?

LAMP 堆栈是不是适合企业使用?