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

Pra*_*ash 30 mysql port wamp localhost phpmyadmin

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

我无法使用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';


?>
Run Code Online (Sandbox Code Playgroud)

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

use*_*737 33

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

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

更新密码:

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)

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

$cfg['Servers'][$i]['password'] = 'MyNewPass'
Run Code Online (Sandbox Code Playgroud)

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

并让phpMyAdmin工作!

编辑2017:用于MySQL≥5.7 authentication_string代替 Password(请参阅此答案):

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

  • 做完这个**kill**mysql进程并重新启动它! (5认同)
  • 如果`mysql -u root -p` 需要密码,并且您尝试任何操作都会导致#1045 错误,我该怎么办? (2认同)

Pra*_*ash 10

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

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

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

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

4.Reinstall

希望这可以帮助.


yun*_*awa 5

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