使用phpmyadmin,我将root用户的密码(localhost条目和127.0.0.1条目)从空白更改为“password”。我被锁定了phpmyadmin,得到1130错误:“主机'localhost'不允许连接到这个MySQL服务器”
我在stackoverflow上做了一堆搜索,发现了一个让我回到phpmyadmin的解决方案:
我只是将“skip-grant-tables”行添加到“my.ini”的[mysqld]部分。
但这似乎是一个糟糕的解决方案,就像我只是绕过问题而不是修复它。我还尝试了另一种解决方案,我将用户名和密码添加到本节的“config.inc.php”中:
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'mypass';
但这没有效果。所以我的问题是:
为什么首先在phpmyadmin中添加密码给root用户?它不应该只是把我带到登录界面吗?
解决此问题的正确方法是什么?
由于 约拿
答案 0 :(得分:2)
你的phpma安装根目录中的config.inc.php包含所有配置。
对于auth类型,您可能可以在公共服务器上使用cookie,但如果存在计算机被潜在有害人员窃取或访问的风险,则不能。在我的localhost上,我只使用config作为auth类型并将我的登录凭据放在那里,这样我就可以完全跳过登录。不适合上网使用。
祝你好运,祝圣诞快乐! :d- 汤姆
答案 1 :(得分:2)
我尝试了一些建议的更改以重新进入phpMyAdmin
,但它们无效。但是,在浏览配置文件时,我发现了这个声明:
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
只需在单引号之间插入root用户的密码,然后保存文件。你应该可以回来了。
答案 2 :(得分:1)
答案 3 :(得分:1)
配置文件中的行将如下所示,它应该可以解决问题。
// $ cfg ['Servers'] [$ i] ['auth_type'] ='config';
我所做的只是在行的开头放两个正斜杠。这限制了该行的编译和工作。
答案 4 :(得分:0)
不幸的是,当你按照建议注释掉下面的代码时, // $ cfg ['Servers'] [$ i] ['auth_type'] ='config'
结果是身份验证被自动禁用,这是一个安全风险。我更喜欢卸载和重新安装。
答案 5 :(得分:0)
我遇到了同样的问题,在PMA中获得安全警告后,我决定更改root帐户的密码。
我注意到使用IPV4环回地址(127.0.0.1)一次显示根3次,使用IPV6环回地址(::: 1)< / em>和一次使用localhost地址......
所以我开始更改所有三个的密码,但在第三个之后我被锁定了。
my.ini 中的密码设置(通过 xampp )没有这样做,也没有在配置中设置 pwd .inc.php 条目$cfg['Servers'][$i]['password']
(虽然它是解决方案的一部分)。
然后我将$cfg['Servers'][$i]['host']
设置从 127.0.0.1 更改为 localhost 并vo!我回来了!
我不知道为什么会这样,因为localhost应该被翻译成127.0.0.1,但我希望这也能帮助其他人。