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

时间:2017-03-07 05:47:19

标签: mysql

当我尝试登录Mysql时,这让我发疯了。

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)

有人会帮忙吗?三江源!!

1 个答案:

答案 0 :(得分:1)

我想,你输错了密码...... 在我的情况下,如果我把错误的密码放错了,就像这样表示。

jonghan@jonghan-MS-7817:~$ /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文件中添加'skip-grant-tables'。

就我而言(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。

谢谢!