如何解决仅通过Apache2连接时,远程MySqli连接超时
我在 Ubuntu 18.04 Apache EC2计算机/服务器-172.2.27.1 上遇到问题,即mysqli无法连接到 MariaDB服务器-172.2.27.2 (远程mysqli服务器),但它通过本地主机连接(因为当前172.2.27.1机器上还安装了MariaDB),并且也在 Terminal (终端)上建立了到172.2.27.2的远程连接:
mysql -h 172.2.27.2 -u test -p
(在172.2.27.1计算机上)
无法理解确切的原因是什么。我已经尝试调试所有可能的位置,但是找不到任何位置。
与Apache连接时出现错误:
Object
(
[affected_rows] =>
[client_info] =>
[client_version] => 50012
[connect_errno] => 2002
[connect_error] => Connection timed out
[errno] =>
[error] =>
[error_list] =>
[field_count] =>
[host_info] =>
[info] =>
[insert_id] =>
[server_info] =>
[server_version] =>
[stat] =>
[sqlstate] =>
[protocol_version] =>
[thread_id] =>
[warning_count] =>
)
PS:在Machine或EC2实例上都没有防火墙规则。我已经检查过了。连接到Internet上的远程MariaDB服务器的所有可用代码都给出相同的结果。它不是代码问题,可能是一些Apache扩展问题或PHP。服务器172.2.27.1无法连接到Internet上的任何其他MariaDB服务器。它只能在localhost上运行,
解决方法
很可能防火墙规则阻止了您的连接:(连接超时)
检查分配给Mysql / MariaDB实例的Security groups
,并确保在MariaDB设置中正确允许Mysql port (3306)
,以接受来自inbound
的{{1}}连接,或整个子网。
好像您尚未为远程地址配置数据库。 设置my.cnf
[mysqld]
skip-networking=0
skip-bind-address
然后设置mysql.user
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.2.27.%'
IDENTIFIED BY 'password' WITH GRANT OPTION;
之后重新启动所有进程 看一下以供参考: https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。