mysql – #1045 – 拒绝用户’root’@’localhost’访问(使用密码:YES)

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

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

当我尝试打开PHPmyadmin我得到这个错误(#1045 – 访问被拒绝用户’root’@’localhost'(使用密码:是))

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

最佳答案
我首先更改了root密码运行mysql的提示符

mysql -u root -p

更新密码:

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

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

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

并让phpMyAdmin工作!

EDIT 2017:对于MySQL≥5.7,使用authentication_string代替密码(见this answer):

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

转载注明原文:mysql – #1045 – 拒绝用户’root’@’localhost’访问(使用密码:YES) - 代码日志