【问题标题】:#1045 - Access denied for user 'root'@'localhost' (using password: YES)#1045 - 用户 'root'@'localhost' 的访问被拒绝(使用密码:是)
【发布时间】:2013-05-26 14:12:34
【问题描述】:

这可能看起来多余,但我无法找到正确的解决方案。

我无法使用 mysql 控制台登录到 mysql。它要求输入密码,我不知道我实际输入了什么。(有没有办法获取或更改密码?) 这就是我的 config.inc 的外观。

当我尝试打开 phpmyadmin 时出现此错误(#1045 - 用户 'root'@'localhost' 的访问被拒绝(使用密码:YES))

<?php

/* Servers configuration */
$i = 0;

/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
 $cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'prakash123';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

/* End of servers configuration */

$cfg['DefaultLang'] = 'en-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';


/* rajk - for blobstreaming */
$cfg['Servers'][$i]['bs_garbage_threshold'] = 50;
$cfg['Servers'][$i]['bs_repository_threshold'] = '32M';
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';


?>

我试图卸载(加上删除所有相关文件)WAMP 并重新安装。它也没有帮助。 在重新安装 WAMP 服务器时,它不要求任何用户名密码的东西,我不知道为什么。 非常感谢任何帮助。

【问题讨论】:

  • 您是否尝试过移开数据库“mysql”(凭据所在的位置)并查看它是否在重新启动时重新创建?
  • 看这里:stackoverflow.com/questions/2703996/… 我会说 $cfg['Servers'][$i]['password'] = 'prakash123'; prakash123 是您的密码。
  • #2002 无法登录 MySQL 服务器这是我在移动 Mysql @Eugen Rieck 时遇到的新错误
  • @helenbn 我知道 prakash123 是我的密码,但我无法打开 PHPMyadmin

标签: mysql phpmyadmin localhost port wamp


【解决方案1】:

我首先在提示符下更改了运行 mysql 的 root 密码

mysql -u root -p

更新密码:

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

使用新的 root 密码编辑文件 config.inc.php 中的行:

$cfg['Servers'][$i]['password'] = 'MyNewPass'

停止并重新启动 mysql 服务(在 Windows 中:mysql_stop.bat/mysql_start.bat

并让 phpMyAdmin 工作!

编辑 2017:对于 MySQL≥5.7,使用 authentication_string 代替 Password(参见 this answer):

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root';

【讨论】:

  • 在这样做之后杀死 mysql进程并重新启动它!
  • 如果mysql -u root -p 需要密码,而您尝试的任何操作都会导致#1045 错误,我该怎么办?
【解决方案2】:

问题是我安装了 2 个 Mysql 实例,但我不知道这两个实例的密码。只需检查端口 80 是否被任何程序使用。 这就是我所做的

1.退出Skype,因为它正在使用80端口。(请检查80端口是否被任何其他程序使用)。

2.在任务管理器中搜索Mysql服务并停止。

3.现在删除所有相关的mysql文件。确保删除所有文件。

4.重新安装

【讨论】:

    【解决方案3】:

    嗯,上面已经给出了很多解决方案。如果它们都不起作用,也许您应该按照here 的描述再次尝试将密码重置为“root”,然后在其他浏览器中重新打开http://localhost/phpMyAdmin/。至少这个解决方案对我有用。

    【讨论】:

      【解决方案4】:

      这对我有用。 在你的配置文件中

      $cfg['Servers']['$i']['password'] = 'yourpassword';
      

      在你的 mysql shell 中,以 root 身份登录

      mysql -u root
      

      如果您忘记了旧密码,请更改密码或更新

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

      从 xampp 控制面板停止并重新启动您的 mysql 服务器。 phpmyadmin 可以登录查看您的数据库

      【讨论】:

        【解决方案5】:

        mysql.exe->以管理员身份运行或转到以下路径 C:\wamp\bin\mysql\mysql5.5.24\bin 然后右键单击 mysql.exe 转到属性然后选择选项卡作为兼容性并查看权限级别对话框的底部,只需选中以管理员身份运行此程序,然后单击应用 ok.finished 现在您打开成功的 phpMyadmin。再见

        【讨论】:

          【解决方案6】:
          1. mysql -u root -p
          2. UPDATE mysql.user SET Password=PASSWORD('mypass') WHERE User='root';
          3. 刷新权限:FLUSH PRIVILEGES;
          4. 键入退出:Exit
          5. 在 config.inc.php 文件中使用新的 root 密码编辑行:$cfg['Servers'][$i]['password'] = 'mypass'

          6. 成功

          【讨论】:

            【解决方案7】:

            转到“config.inc.php”。在这里写下你的密码 - $cfg['Servers'][$i]['password'] =''

            【讨论】:

              【解决方案8】:

              这个过程在纠正错误方面非常简单。发生的事情是无法连接到 phpMyAdmin。为了解决这个问题,您只需向位于 apps\phpMyadmin\config.ini.php 的系统 phpMyAdmin 配置文件提供正确的密码 1. root 应该已经设置为用户 2.在''和那个之间插入密码。

              如果您仍然有问题,则意味着需要更新用户名和/或密码或将其插入数据库。为此,请使用命令行工具并进行更新。

              UPDATE mysql.user SET Password=PASSWORD('Johnny59 or any you want to use') WHERE User='root';

              【讨论】:

                【解决方案9】:

                转到config.inc.php,找到$cfg['Servers'][$i]['password']并删除提供的任何密码,即将$cfg['Servers'][$i]['password'] = 'password';更改为$cfg['Servers'][$i]['password'] = '';

                现在你可以启动 phpMyAdmin

                phpMyAdmin 中选择 Users 菜单,选择 root 用户并单击 Edit previlidges。 现在向下滚动到 Change Password 区域,在 No PasswordPassword 之间切换以提供您的新密码。 就是这样。

                【讨论】:

                  【解决方案10】:

                  我今天也犯了同样的错误。我已经安装了 Djangostack,当我检查我的任务管理器时,有两个 mysqld 实例正在运行。我检查了一个用于 wamp 服务器,另一个用于 django 堆栈。我结束了 django 堆栈的一个,重新启动了 wamp 服务器中的所有服务,我能够访问 phpmyadmin

                  【讨论】:

                    【解决方案11】:

                    安装后我启动了 wamp,我被要求输入默认设置的用户和密码(用户:管理员密码:点),这与来自您主题的消息是错误的。比,我刚输入:

                    用户名:root
                    密码:(留空)
                    

                    它对我有用!

                    【讨论】:

                      【解决方案12】:
                      1. 转到C:\xampp\phpMyAdmin

                      2. 编辑config.inc.php文件

                      3. $cfg['Servers'][$i]['auth_type'] = 'config'; 替换为 $cfg['Servers'][$i]['auth_type'] = 'cookie';

                      现在PHPMyAdmin 会询问您的密码,不再出错。

                      【讨论】:

                        【解决方案13】:

                        试试下面的代码:

                        $cfg['Servers'][$i]['password'] = '';
                        

                        如果您在 phpMyAdmin 的Users Overview 页面中看到“root”用户的“密码”列字段为“否”。

                        【讨论】:

                          【解决方案14】:

                          对于 MariaDb,上述解决方案不起作用。

                          使用(下面以 ubuntu 16.04 和 mariadb-server Distrib 10.0.28 为例):

                              sudo mysql_secure_installation
                              …
                              Change the root password? [Y/n] 
                              New password: 
                          

                          【讨论】:

                            【解决方案15】:

                            我也遇到过类似的错误,后来发现我的密码不对。

                            【讨论】:

                              【解决方案16】:

                              对于 UNIX,试试这个。它对我有用:

                              1. 使用 Navicat Premium 连接 MySQL 和初始 root/“密码”
                              2. UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
                              3. 重启 MySQL

                              【讨论】:

                              【解决方案17】:

                              首先你必须去 config.inc.php 文件然后改变下面的指令

                              $cfg['Servers'][$i]['user'] ='';
                              $cfg['Servers'][$i]['password'] =''; 
                              

                              【讨论】:

                              • 那个文件的路径是什么?
                              【解决方案18】:

                              如果您因为无法登录 phpMyAdmin 而来到这里,请尝试使用 Mysql 中的 root 密码,而不是您在安装 phpMyAdmin 时输入的密码。

                              【讨论】:

                                【解决方案19】:

                                我刚才遇到这种情况,我试过这个方法,很简单。

                                首先使用这个命令停止你的mysql服务:

                                service mysql stop
                                

                                然后使用这个命令再次启动你的mysql服务

                                service mysql start
                                

                                我希望它可以帮助别人... :)

                                【讨论】:

                                  【解决方案20】:

                                  更新 MySql 后,我收到了相同的错误消息。 原来,在MySql上安装不同版本后,在my.ini里面,端口不一样了。以前的 MySql 版本有 3306 端口,但新版本有 3308 端口。 检查您的 MySql my.ini,如果它不同,请在您的连接中使用来自 .ini 的端口。

                                  【讨论】:

                                    【解决方案21】:
                                    php artisan serve 
                                    

                                    此命令第一次获取环境内容,如果更新.env文件需要重新启动它。

                                    在我的情况下,我的用户名和数据库名是有效的,并且 php artisan migrate 有效

                                    但需要cntrl+c,取消php artisan serve,重新运行

                                    php artisan serve
                                    

                                    【讨论】:

                                      【解决方案22】:

                                      检查环境变量的名称

                                      我的案例:

                                      • 我在 python-flask 项目中使用 sqlalchemy 时遇到了这个问题。
                                      • 使用的 IDE:PyCharm
                                      • 在我的config.py 文件中,我将SQLALCHEMY_DATABASE_URI 设置为:
                                      SQLALCHEMY_DATABASE_URI = os.getenv("DATABASE_URI")
                                      

                                      我犯的错误(这是一个愚蠢的错误?)

                                      • 在 PyCharm 中设置 evironment_variables 时,我做了:
                                      SQLALCHEMY_DATABASE_URI=<my_db_uri>
                                      

                                      解决方案

                                      • 我把上面的改成:
                                      DATABASE_URI=<my_db_uri>
                                      

                                      合十礼 ?

                                      【讨论】:

                                        【解决方案23】:

                                        在C:​​\xampp\mysql\bin的my.ini文件中,在#Mysql Server下的[mysqld]命令后面添加以下行:

                                        skip-grant-tables
                                        

                                        这应该会删除错误 1045。

                                        【讨论】:

                                        • 请补充一点,在设置正确的密码之前,这可能只是一个临时解决方案!
                                        【解决方案24】:

                                        如果多个 myslq 在同一个端口上运行 no enter image description here

                                        右键单击 wamp 并测试端口 3306 如果 wampmysqld64 正确,则更改端口号并重新启动服务器

                                        【讨论】:

                                          猜你喜欢
                                          • 1970-01-01
                                          • 2018-12-12
                                          • 2014-06-06
                                          • 2016-05-05
                                          • 1970-01-01
                                          • 2016-07-11
                                          • 2021-10-19
                                          • 1970-01-01
                                          相关资源
                                          最近更新 更多