当我将 root 密码设置为“无密码”时,我无法连接到数据库
Posted
技术标签:
【中文标题】当我将 root 密码设置为“无密码”时,我无法连接到数据库【英文标题】:I cannot connect to database when I set the root password to "no password" 【发布时间】:2015-05-15 18:19:05 【问题描述】:我的 phpmyadmin 有问题。我将 phpmyadmin 中的 root 用户的空密码更改为 无密码,当我尝试打开 phpmyadmin 时收到以下错误:
1045 - Access denied for user 'root'@'localhost' (using password: YES) phpMyAdmin 试图连接到 mysql 服务器,并且服务器 拒绝连接。您应该检查主机、用户名和 配置中的密码并确保它们对应于 MySQL 服务器管理员提供的信息。重试 连接
是否可以在不重新安装的情况下修复 phpmyadmin?我正在使用 Mac。
【问题讨论】:
【参考方案1】:如果您已将实际 root 密码更改为字符串“无密码”,那么登录应该可以正常工作,但如果您没有设置密码,则尝试使用该空白输入登录,这告诉 phpmyadmin 您不想尝试使用密码登录。
【讨论】:
我将 root 密码更改为字符串“无密码”。我不确定您所说的使用空白输入是什么意思。我根本无法进入 phpmyadmin。 所以你去 127.0.0.1/phpmyadmin 或 localhost/phpmyadmin 他们都没有显示任何东西?【参考方案2】:您必须更改您的 phpMyAdmin 配置。在 Mac 上,它应该在 /Sites/phpMyAdmin/config.inc.php
下。
将 AllowNoPassword
更改为 TRUE
:
$cfg['Servers'][$i]['AllowNoPassword'] = TRUE;
https://www.simplified.guide/phpmyadmin/enable-login-without-password
编辑:
正如PHPMyAdmin docs 所说:
$cfg['Servers'][$i]['password']:
当使用 $cfg['Servers'][$i]['auth_type'] 设置为 'config' 时,这是 phpMyAdmin 将用来连接到 MySQL 服务器。当 HTTP 或 使用了cookie认证,应该为空。
所以$cfg['Servers'][$i]['password']
仅在您设置$cfg['Servers'][$i]['auth_type']
时使用。它与 AllowNoPassword 无关 :)
【讨论】:
这行代码在 MAMP 的 config.inc.php 文件中不存在,但我通过添加 $cfg['Servers'][$i]['AllowNoPassword'] = TRUE; 来修复它;并更改 $cfg['Servers'][$i]['password'] = 'root';为空字符串。现在它起作用了。谢谢你的帮助,但你能解释一下为什么代码没有写,密码是root,尽管我改为“无密码”吗? @KaloianMateev - 我更新了我的答案,所以你可以阅读password
选项。我不知道为什么您的实际配置中没有 AllowNoPassword
- 也许它是 Mac 上的默认设置?不过,我很高兴它现在可以工作了:)以上是关于当我将 root 密码设置为“无密码”时,我无法连接到数据库的主要内容,如果未能解决你的问题,请参考以下文章
sudoers文件设置sudo命令无密码(root密码)登录
无法设置无密码登录到本地主机,也无法使用密码 ssh 到本地主机