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

问题描述 投票:29回答:21

这似乎是多余的,但我无法找到正确的解决方案。

我无法使用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 phpmyadmin localhost port wamp
21个回答
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';


2
投票

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

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

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


2
投票

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

Username: root 
Password: (leave it empty)

它对我有用!!


1
投票

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


1
投票

与MariaDb一起,以上解决方案无效。

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

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

1
投票

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


1
投票
  1. C:\xampp\phpMyAdmin
  2. 编辑config.inc.php文件
  3. $cfg['Servers'][$i]['auth_type'] = 'config';替换$cfg['Servers'][$i]['auth_type'] = 'cookie';

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


1
投票

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

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

0
投票

首先,您必须转到config.inc.php文件,然后更改以下指令

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

要么

enter image description here


0
投票

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


0
投票

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

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

service mysql stop

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

service mysql start

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


10
投票

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

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

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

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

4.Reinstall


0
投票

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

skip-grant-tables

这应该删除错误1045。


-1
投票

如果多个mysql在同一个端口上运行没有qazxsw poi

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


4
投票

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


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

3
投票

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


3
投票

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

现在您可以启动phpMyAdmin

从phpMyAdmin中选择Users菜单,选择root用户,然后单击Edit previlidges。现在向下滚动到更改密码区域,在无密码和密码之间切换以提供新密码。而已。


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可以登录查看您的数据库


2
投票

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


2
投票

请尝试以下代码:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.