2017-07-17 116 views
0

我有一個非常奇怪的情況,涉及phpMyAdmin試圖連接到遠程數據庫服務器。請注意,所有機器都運行CentOS的7phpmyadmin 2002遠程服務器錯誤

這是我目前的情況:

  • 我有一個'root'@'%'登錄一個MariaDB的10.2服務器臨時建立的。
  • 我有兩臺安裝了phpMyAdmin的Web服務器(我們稱之爲Client1和Client2)。
  • 我可以從Client1上的phpMyAdmin訪問mariadb服務器,但不能在Client2上訪問。
  • phpMyAdmin服務器配置對於Client1和Client2都是相同的。
  • 在client2上,我可以通過mysql命令成功訪問mariadb服務器。
  • 我在client2上設置了mariadb服務器,phpMyAdmin能夠很好地登錄到localhost。

這是我的個人信息/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 - Permission denied — The server is not responding (or the local server's socket is not correctly configured)

mysqli_real_connect(): (HY000/2002): Permission denied

我已在本地client2機器上重新安裝mariadb並手動設置在config.inc.php中的套接字值,但似乎沒有解決任何問題。

以下命令連接從客戶機2的機器就好了,即使失敗phpMyAdmin的:
​​

我只是不知道如何縮小我的問題搜索在這一點上。

回答

0

那麼答案是愚蠢的,但簡單,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會阻止傳出連接:(

相關問題