'#1045无法登录MySQL服务器'无法获得root访问权限

时间:2014-03-05 11:46:33

标签: php phpmyadmin

我正在尝试在phpMyAdmin上以root用户身份设置登录访问权限。将config.inc.php文件中的三行修改为:

$cfg['Servers'][$i]['user'] = 'root';  
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPassword'] = true; 

我有以下身份验证和服务器参数:

/* Authentication type */  
$cfg['Servers'][$i]['auth_type'] = 'cookie';  
/* Server parameters */  
$cfg['Servers'][$i]['host'] = 'eu-cdbr-azure-north-b.cloudapp.net';  // Replace with value     from connection string  
$cfg['Servers'][$i]['connect_type'] = 'tcp';  
$cfg['Servers'][$i]['compress'] = false;  
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['user'] = 'root';  
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPassword'] = true; 

但是我收到#1045错误。

任何帮助都将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:0)

MySQL帐户可以有限制。如果使用localhost,计算机名称或127.0.0.1连接,则可以以root用户身份登录。

答案 1 :(得分:0)

MySQL(可能)在远程服务器上运行,即您在配置中指示的cloudapp.net域。但是,如果您的phpMyAdmin(以及它正在运行的网络服务器)不在该网络上,那么它们可能会丢失连接作为安全措施。因此,如果您尝试在自己的计算机上设置phpMyAdmin以用于在线/远程MySQL实例,那么它可能无法正常工作。您通常需要从主机网络内部执行数据库访问。我猜这是其他人在告诉你使用localhost时的意思,虽然我完全不确定。

尝试从命令行进行连接。在您的网络服务器上,尝试运行mysql -h eu-cdbr-azure-north-b.cloudapp.net -u root -p。如果您可以直接访问数据库服务器,请尝试从那里运行mysql -u root -p,看看是否提供了不同的响应。有时MySQL被配置为不允许远程访问,或者不允许远程主机进行root访问。

您是否曾尝试询问您的主人是否应该这样做?