我有两台服务器:Web 和 MySQL,均运行在 Ubuntu 12.04 x64 上
在 Web 上设置 phpmyadmin 安装和 nginx 等。 在 MySQL 上设置了 mysqsl 安装
当我从 Web 运行 mysql --user=user --host=MySQL.hostname --password 时,我可以很好地连接到 MySQL 服务器
但是当我尝试通过 phpmyadmin 连接时,它不起作用。为什么?
用户不是root
在/usr/share/phpmyadmin/config.inc.php 文件(我从示例中复制的)中,我有以下内容:
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'MySQL.hostname';
$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;
在 MySQL 服务器上,我将其设置为绑定(bind)到 0.0.0.0,并且我在“localhost”和“%”上拥有该用户的用户权限(记住 - 我通过 mysql 客户端连接得很好)
(注意:MySQL.hostname实际上是一个可解析的主机名,这里仅使用它作为示例)
最佳答案
好吧,答案很简单,尽管主文件位于/usr/share/phpmyadmin 中,但配置实际上是在/etc/phpmyadmin/中加载的
更改 config.inc.php 就可以了:)
关于mysql - 远程phpmyadmin无法登录但mysql客户端可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19934016/