MySQL5.7中,用root用户登录不进去数据库,报如下错误,而后从新修改了密码,好了。

root用户登录数据库登录不进去,报如下错误,而后从新修改了密码,具体操做以下:mysql

 配置文件中加了skip-grant-tables,/etc/init.d/mysqld重启以后能够进去了;因此必定是密码的问题,因此我开始改密码sql

##咱们把root@localhost用户删了,而后有新建了这个用户数据库

 

mysql> delete from mysql.user where user='root' and host='localhost';
Query OK, 1 row affected (0.01 sec)
mysql> select user,host from mysql.user;
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| mysql.sys | localhost |架构

+-----------+-----------+
1 row in set (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on *.* to 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> select user,host from mysql.user;
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| mysql.sys | localhost |
| root      | localhost |
+-----------+-----------+ide

2 rows in set (0.01 sec)spa

可是到这仍是不行,你用下面的命令会发现一个状况blog

mysql> select * from mysql.user\G;ip

Grant显示N--mysql权限架构体系(应该是这么说)是关闭的因此得执行如下操做:it

mysql> grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)io

退出mysql,将skip-grant-tables注掉,而后重启mysql。此时在登录就能够了。

相关文章
相关标签/搜索