繁体   English   中英

远程 MySqli 仅在通过 Apache2 连接时连接超时

[英]Remote MySqli Connection timeout only while connecting via Apache2

我在Ubuntu上面临问题18.04 Apache EC2机器/服务器-172.2.27.1 THT 885529804444388未连接到那里,并未连接到MariaDB Server -172.2.27.27.27.27.27.27.27.27.27.28888552988885529888852980404040404008080400080080008000800080 and888529也安装了 MariaDB),也正在通过终端建立到 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:机器和 EC2 实例上都没有防火墙规则问题。 我已经检查过了。 连接到 inte.net 上的远程 MariaDB 服务器的所有可用代码都给出了相同的结果。 这不是代码问题,可能是一些 apache 扩展问题或 PHP 问题。 服务器 172.2.27.1 无法连接到 inte.net 上的任何其他 MariaDB 服务器。 它仅适用于本地主机,不适用于其他任何东西。

很可能防火墙规则阻止了您的连接:(连接超时)

检查分配给 Mysql/MariaDB 实例的Security groups ,并确保在 MariaDB 设置上正确允许Mysql port (3306) ,以接受来自172.2.27.2inbound连接,特别是来自整个 su.net 的入站连接。

看起来您还没有为远程地址配置数据库。 设置我的.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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM