[英]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.2
的inbound
连接,特别是来自整个 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.