1

我目前在 phpMyAdmin 连接到 RDS 上的数据库时遇到问题。

我的设置是一个运行 CentOS x64 的 EC2 实例上的框(管理框)。它具有最新版本的 phpMyAdmin、Apache、MySQL 并具有运行所需的所有软件包。一个 php 测试页面显示 MySQL 插件已安装并加载。

在控制台上,我可以使用远程连接到我的 RDS 服务器(通过 SSH 以 root 身份登录)

mysql -h XXXX -uXXXXX -pXXXXX

我能够通过命令行执行语句并读取数据库。我还可以从我的家用计算机通过 MySQL 工作台进行连接并进行更改。所以安全组似乎定义正确。我检查了config.ini.php/etc/phpmyadmin/ 目录中的文件,并在 /usr/share/phpmyadmin 部分添加了一个。

这不是问题,但我正在尝试将其提供给我自己和我的客户,以便在我无法继续支持客户时便于转移。

我可以进入控制台(我已经编辑了 phpmyadmin.conf 以允许我的 ip)并且加载了,但我仍然得到 #2002 无法登录到 MySQL 服务器,每当我使用我知道正确的凭据登录时。

我的config.ini.php文件是:

$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'XXXXX.rds.amazonaws.com';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysql if your server does not have mysqli */
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Servers'][$i]['ssl'] = false;

我已经尝试以多种方式对其进行编辑以使其连接,以防万一,请始终重新启动 apache 服务器。然而,我仍然无法连接。

4

1 回答 1

3

我找到了罪魁祸首。我没有想到要明确启用网络服务器连接,而 selinux 需要我输入:

setsebool -P httpd_can_network_connect=1

让它连接。在我启用它的那一刻,它能够连接到数据库并且能够被管理。感谢那些查看和评论的人,希望这对将来的其他人有所帮助。

于 2013-09-25T16:20:28.440 回答