gpt4 book ai didi

mysql - 远程服务器的 phpmyadmin 2002 错误

转载 作者:行者123 更新时间:2023-11-29 18:37:42 25 4
gpt4 key购买 nike

我遇到了一个非常奇怪的情况,涉及 phpMyAdmin 尝试连接到远程数据库服务器。请注意,所有计算机都运行 CentOS 7。

这是我目前的情况:

  • 我有一个 mariadb 10.2 服务器,并临时设置了 'root'@'%' 登录名。
  • 我设置了两个安装了 phpMyAdmin 的 Web 服务器(我们称它们为 Client1 和 Client2)。
  • 我可以从 Client1 上的 phpMyAdmin 访问 mariadb 服务器,但不能在 Client2 上访问。
  • Client1 和 Client2 的 phpMyAdmin 服务器配置相同。
  • 在 client2 上,我能够通过 mysql 命令成功访问 mariadb 服务器。
  • 我在 client2 上设置了 mariadb 服务器,并且 phpMyAdmin 能够正常登录本地主机。

这是我的/etc/phpMyAdmin/config.inc.php,删除了个人信息

$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'mypass';
$cfg['Servers'][$i]['host'] = '1.2.3.4';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

以下是 phpMyAdmin 向我显示的错误:

#2002 - 权限被拒绝 - 服务器没有响应(或本地服务器的套接字未正确配置)

mysqli_real_connect(): (HY000/2002): 权限被拒绝

我已经在本地 client2 计算机上重新安装了 mariadb,并在 config.inc.php 中手动设置了套接字值,但这似乎没有解决任何问题。

即使 phpMyAdmin 失败,以下命令也可以从 Client2 计算机正常连接:
mysql -u root -h 1.2.3.4 -pmypass

我现在只是不确定如何缩小对问题的搜索范围。

最佳答案

答案很愚蠢但很简单,SElinux 就是问题所在,而且不是在数据库服务器上,而是在客户端。

在客户端您可以运行:
getsebool -a | grep httpd_can_network_connect_db

我收到回复:
httpd_can_network_connect_db --> off

要更改它,您可以运行:
setsebool -P httpd_can_network_connect_db on

完成后,phpMyAdmin 在页面刷新时立即连接。

我不知道 SELinux 会停止传出连接:(

关于mysql - 远程服务器的 phpmyadmin 2002 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45151797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com