Mysql错误:错误1045(28000):访问被拒绝用户'root'@'localhost'(使用密码:YES)

问题描述:

这让我疯狂......当我尝试登录到Mysql时。Mysql错误:错误1045(28000):访问被拒绝用户'root'@'localhost'(使用密码:YES)

TanTengluns-MacBook:~ tantan$ cd /usr/local/mysql/bin 
TanTengluns-MacBook:bin tantan$ ./mysql -u root -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 
TanTengluns-MacBook:bin tantan$ ./mysql 
ERROR 1045 (28000): Access denied for user 'tantan'@'localhost' (using password: NO) 

有人会帮忙吗?谢谢!!

+0

那么,你输入密码了吗? – marmeladze

我想,你有输入错误的密码... 在我的情况下,代表像这样,如果我已经把错误的密码。

[email protected]:~$ /usr/bin/mysql -uroot -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 

第二种情况是同样的问题。

如果您忘记了密码,我建议您重置您的mysql root密码。

首先,你必须停止mysql服务。

#sudo service mysql stop 

其次,添加“跳赠款表”在您的my.conf或my.cnf文件。

在我的情况下(MySQL v5.7.17),mysqld.cnf位于'/etc/mysql/mysql.conf.d'中。

几乎my.conf/my.cnf文件显示是这样的。

[mysqld] 
user   = mysql 
pid-file  = /var/run/mysqld/mysqld.pid 
socket  = /var/run/mysqld/mysqld.sock 
port   = 3306 
basedir  = /usr 
datadir  = /var/lib/mysql 
tmpdir  = /tmp 
lc-messages-dir = /usr/share/mysql 

skip-external-locking 

skip-grant-tables   /*** You Add this code! ***/ 

接下来,重新启动mysql服务。

#sudo service mysql start 

然后打开你的mysql服务。在你的情况下,

$ cd /usr/local/mysql/bin 
$ ./mysql -u root 

然后,你可以登录没有身份验证。

接下来,您应该更改'root'的密码。

mysql> UPDATE user SET password=PASSWORD('yourpassword') WHERE user='root'; 

毕竟,还原my.conf/my.cnf/mysqld.cnf等等。 (删除'skip-grant-tables')

最后,重新启动mysql服务。

$ sudo service mysql restart 

如果通过以下步骤无法访问mysql,我建议重新安装Mysql。

谢谢!

+0

非常感谢!1! –

+0

^_ ^尝试并回复结果! –

+0

我并不完全准备好第二步重置我的密码:“其次,在my.conf或my.cnf文件中添加'skip-grant-tables'。”你能帮忙吗? –