当我将 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 密码设置为“无密码”时,我无法连接到数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 root 和无密码登录 phpmyadmin

sudoers文件设置sudo命令无密码(root密码)登录

无法设置无密码登录到本地主机,也无法使用密码 ssh 到本地主机

密码重置阻止访问 phpmyadmin

bios上设置了开机密码,可是装完Linux,开机就无密码提示

mysql8.0以上版本ROOT密码报错及修改,mysql无密码设置密码