错误1045(28000):在linux*问被用户'root'@'localhost'(使用password:YES)拒绝16.04

问题描述:

我是MySQL的新手,试图启动MySQL,但是我收到了这个错误。我也看到了同样类型的问题的其他解决方案,但仍然无法正常工作。 在这里,我尝试在输入密码提示时输入我的root密码。错误1045(28000):在linux*问被用户'root'@'localhost'(使用password:YES)拒绝16.04

mysql -u root -p 

Enter password: 

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 
+0

您是否在输入密码提示之前输入密码? – RiggsFolly

+0

由于错误消息说你没有输入密码,为什么? –

+0

_sorry是的,你是对的。首先用root密码尝试,然后用空白_现在不是对你的问题非常有帮助的描述是 – RiggsFolly

现在我的问题就解决了我也跟着这些事情:

停止MySQL服务
sudo /etc/init.d/mysql stop

启动mysql没有密码
sudo mysqld_safe --skip-grant-tables &

我得到这个错误
2017-06-20T18:50:06.475664Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.

使用这些命令进行修复:
mkdir -p /var/run/mysqld chown mysql:mysql /var/run/mysqld

然后按照这些命令:

sudo mysqld_safe --skip-grant-tables & 
mysql -uroot 
use mysql; 
update user set password=PASSWORD("mynewpassword") where User='root'; 
flush privileges; 
quit 

,并开始工作。

+0

@RiggsFolly现在它的工作权利,但每次我重新启动我的电脑我需要再次按照这个过程,你可以告诉我该如何解决它? –

如果单纯按Enter键,而不是在键入密码就我所知道的消息using password: NO才会出现。

+0

对不起,你是对的。首先尝试用root密码,然后用空白 –

+0

如果它是一个有效的答案,你可以请标记它吗?谢谢 – rainerhahnekamp

我目前无法访问MySQL,但如果我没有记错的话,如果您没有密码(这不是个好主意),那么您根本就不会使用-p

+0

或者你只需​​点击Enter键并将密码提示保留为空 – RiggsFolly

+0

我也试过这样得到相同的错误。 'mysql -u root'但是这次错误显示NO而不是YES –