#1045 - 用户'root'@'localhost'拒绝访问(使用密码:YES)

时间:2013-05-30 20:54:13

标签: mysql phpmyadmin localhost port wamp

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

我无法使用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服务器时,它不会要求任何用户名密码,我不知道为什么。 任何帮助都非常感谢。

24 个答案:

答案 0 :(得分:31)

我首先使用

更改了运行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';

答案 1 :(得分:10)

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

1.Quit Skype因为它使用的是端口80.(请检查端口80是否被其他任何程序使用)。

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

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

4.Reinstall

答案 2 :(得分:4)

嗯,上面已经提到了很多解决方案。如果它们都不起作用,也许您应该尝试将密码重新设置为“root”,如here所述,然后在其他浏览器中重新打开http://localhost/phpMyAdmin/。至少这个解决方案适合我。

答案 3 :(得分:3)

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

  7. 是succss

答案 4 :(得分:3)

转到&#39; config.inc.php&#39;。在此处写下您的密码 - $cfg['Servers'][$i]['password'] =''

答案 5 :(得分:3)

转到config.inc.php,找到$cfg['Servers'][$i]['password']并删除提供的所有密码,即使用$cfg['Servers'][$i]['password'] = 'password';更改$cfg['Servers'][$i]['password'] = '';

现在您可以启动 phpMyAdmin

phpMyAdmin 中选择用户菜单,选择 root 用户,然后点击编辑previlidges 。 现在向下滚动到更改密码区域,在无密码密码之间切换以提供新密码。 就是这样。

答案 6 :(得分:3)

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

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

在您的mysql shell中,以root用户身份登录

mysql -u root

更改密码或如果忘记了旧密码则更新

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

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

答案 7 :(得分:2)

请尝试以下代码:

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

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

答案 8 :(得分:2)

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

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

UPDATE mysql.user SET Password = PASSWORD('Johnny59或者你想要使用的任何东西')WHERE User ='root';

答案 9 :(得分:2)

安装后我开始使用wamp,我被要求提供默认设置的用户和通行证(用户:admin pass:dots),这是您主题中的消息错误。比,我刚进入:

Username: root 
Password: (leave it empty)

它对我有用!!

答案 10 :(得分:2)

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

答案 11 :(得分:1)

  1. 转到C:\xampp\phpMyAdmin

  2. 编辑config.inc.php文件

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

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

答案 12 :(得分:1)

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

答案 13 :(得分:1)

使用MariaDb,以上解决方案无效。

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

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

答案 14 :(得分:1)

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

答案 15 :(得分:0)

php artisan serve 

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

在我的情况下,我的用户名和dbname有效,并且 php artisan migration 正常工作

但是需要cntrl + c,才能取消php artisan服务,然后再次运行

php artisan serve

答案 16 :(得分:0)

更新MySql之后,我得到了相同的错误消息。 事实证明,在MySql上的mySql上安装了不同版本之后,端口是不同的。以前的MySql版本具有端口3306,但新版本具有端口3308。 检查您的MySql my.ini,如果不同,请使用连接中.ini的端口。

答案 17 :(得分:0)

检查环境变量的名称

案例:

  • 我在 sqlalchemy 项目中使用 python-flask 时遇到了这个问题。
  • 使用的 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>

合十礼?

答案 18 :(得分:0)

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

skip-grant-tables

这应该删除错误1045。

答案 19 :(得分:0)

刚才我有这种情况,我尝试过这种方式非常容易。

首先使用此命令停止您的mysql服务:

service mysql stop

然后再使用此命令再次启动mysql服务

service mysql start

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

答案 20 :(得分:0)

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

答案 21 :(得分:0)

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

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

enter image description here

答案 22 :(得分:0)

对于UNIX,请尝试此操作。它对我有用:

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

答案 23 :(得分:-1)

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

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