我有两台服务器: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 服务器上,我将其设置为绑定到 0.0.0.0,并且我在 'localhost' 和 '%' 上拥有该用户的用户权限(请记住 - 我确实通过 mysql 客户端连接得很好)
(注意: MySQL.hostname 实际上是一个可解析的主机名,这里仅使用这个示例)