#1045 无法从 phpMyAdmin 和命令行登录到 MySql 服务器

Posted

技术标签:

【中文标题】#1045 无法从 phpMyAdmin 和命令行登录到 MySql 服务器【英文标题】:#1045 Cannot Log in to the MySql server from both phpMyAdmin and from command line 【发布时间】:2013-10-12 19:52:21 【问题描述】:

问题是我不记得我在 XAMPP 安全页面上设置的 root 密码,因为我无法登录 phpmyAdmin 并创建一个数据库,我认为我应该重置 root 帐户的密码。我在 PHPMyAdmin 的安全页面或命令行中所做的任何更改似乎都没有对我产生任何积极的影响。

虽然这个问题似乎已经被解决了很多次,但我在这里和不同网站上阅读了很多关于这个错误的文章,但我仍然没有找到答案。

我所做的是重复以下几种口味,无数次,开始。我仍然无法使用 root 帐户进入 phpMyAdmin 或在命令行中执行任何操作。

我有:

通过文件重置我的 Windows 系统的根密码 (mysql-init.txt) 包含这些命令:

UPDATE mysql.user SET Password=PASSWORD('1234') WHERE User='root';

冲洗特权;

关闭MySql后,上面的命令都是通过命令运行的 我的 XAMPP shell 中的行(运行为 管理员),语法如下:

msyqld --init-file:C:\My Website\Xampp\mysql\mysql-init.txt 注意:该文件位于 mysql 文件夹中。我把它放在那里。

我修改了我的 config.inc.php 文件,更改了 密码,但没有真正的不同 结果。

$cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = ''; \ 这已更改并与对 Xampp sec 所做的更改相匹配 $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = true; $cfg['Lang'] = '';

如果我尝试使用 root 帐户登录 PHPMyadmin 网页,我 get "#1045 无法登录 MySQL 服务器”

如果我尝试从命令行登录 mysql(运行为 管理员),使用以下命令: mysql -u 根目录 -p (输入密码).... 我得到了同样的结果。

我也从命令行运行了这个命令... mysqladmin -u 根密码1234 错误:“用户 'root'@'Localhost' 的访问被拒绝(使用密码:否)

也这样做了: 为 root@localhost 设置密码 = PASSWORD('1234'); 似乎可以工作,但我仍然无法使用该帐户登录(错误 1045)

我听说有两个 root 帐户。任何人都可以解释或指出我如何使用这些帐户开始使用数据库的最简洁的来源吗?

另外,谁能告诉我为什么我可以以任何没有密码的随机用户 ID 登录网页,但 root 是

锁定。我确定这是因为 root 帐户是最强大的帐户。一个人如何以root身份回到门中,因为它似乎是为了它自己的利益而被锁在门外的(保护免受......我的伤害)。请原谅我对此缺乏了解。我希望有人可以教育我。如果有一件愚蠢的小事我做错了,我很想听听。

谢谢 尼尔

【问题讨论】:

【参考方案1】:

关于你的第二个项目,我认为你的语法是错误的(需要等号而不是冒号),所以试试这个:

mysqld --init-file=C:\My Website\Xampp\mysql\mysql-init.txt

关于 config.inc.php,因为您使用的是 cookie auth_type,所以在用户名和密码中输入任何内容都没有任何意义,因为您将在 phpMyAdmin 中看到一个登录面板。

MySQL 帐户由主机、用户和密码定义,因此用户 root 可能有许多条目(具有不同的主机名)。

【讨论】:

谢谢 Marc,我也注意到了错字。我改变了它,但仍然得到相同的交易。我只是继续并重新安装了 Xampp,而不是用头撞墙。故事的寓意:不要忘记你的root密码。【参考方案2】:

我已按照本教程进行操作 http://www.ostraining.com/blog/coding/error-1045-phpmyadmin/

我替换了以下行

$cfg['Servers'][$i]['extension'] = 'mysqli';

$cfg['Servers'][$i]['extension'] = 'mysql';

所以我删除了 mysqli 中的 i 并且它起作用了。

【讨论】:

以上是关于#1045 无法从 phpMyAdmin 和命令行登录到 MySql 服务器的主要内容,如果未能解决你的问题,请参考以下文章

错误 # 1045 - 无法登录 MySQL 服务器 -> phpmyadmin

WAMP 中的 phpmyadmin 错误 #1045 - 需要重置密码

1045 无法登录 MySQL 服务器

#1045 无法登录 MySQL 服务器

Wampserver #1045 无法登录 mysql 服务器

phpMyAdmin 访问被拒绝 #1045 使用 xampp