1、安装完成后,无法登陆mysql,按理说新安装后默认是以root用户登录,而且密码应该为空,所以可以直接进的,但是出现了下面的问题

[root@bogon mysql]# bin/mysql

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

[root@bogon mysql]# bin/mysqladmin -uroot password
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

2、输入命令mysqld --skip-grant-tables 之后没有反应。就可以了,不过不要把窗体关了,我们另起一个doc窗体。同时也是用管理员运行!

3、我们在新打开的doc窗体中输入cd C:\Program Files\MySQL\MySQL Server 5.7\bin (进入mysql安装路径下的bin文件夹)

4、然后在在doc窗体输入:mysql -u root ,我们就进入了mysql数据库:

如果此方法无反应请使用下面方法:

 

编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入   skip-grant-tables  保存退出后重启mysql 

 

01.点击“开始”->“运行”(快捷键Win+R) 

 

02.启动:输入 net stop mysql 

 

03.停止:输入 net start mysql  

 

这时候在 cmd 里面输入mysql -u root -p

 

就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现 ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。按下面的流程走(红色部分为输入部分,粉红色的是执行后显示的代码不用输入): 

 

01.进入mysql数据库:mysql> use mysql; Database changed 

 

02.给root用户设置新密码,蓝色部分自己输入:mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

 

Query OK, 1 rows affected (0.01 sec)  Rows matched: 1 Changed: 1 Warnings: 0 

 

03.刷新数据库 

 

mysql> flush privileges; 

 

Query OK, 0 rows affected (0.00 sec) 

 

04.退出 mysql:

 

mysql> quit Bye 

 

改好之后,再修改一下 my.ini 这个文件,把我们刚才加入的 "skip-grant-tables" 这行删除,保存退出再重启 mysql 就可以了。

 

5、在doc窗体中输入:update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了 而是将加密后的用户密码存储于authentication_string字段

6、 doc窗体中输入:flush privileges;(更新)

7、输入: quit;(退出)

8、这时,我们需要重新启动下电脑!

9、这是我们在用管理员的身份打开doc窗体,输入cd C:\Program Files\MySQL\MySQL Server 5.7\bin,进行bin文件夹中,再输入net start mysql,一般情况是已经启动了。

10、输入mysql -u root -p 提示你输入密码:因为上面已经将密码改成了123456,所以我输入123456,就可以了

还有最后一个问题就是,在进行客户端Navicat Premium登录时,会报错的!

这样我们就成功进入了mysql数据库了!

还有最后一个问题就是,在进行客户端Navicat Premium登录时,会报错的!

所以我们还需要修改一下数据库。我们在doc窗体中输入:set password for 'root'@'localhost'=password('123');

这样就算真正完成了!

我们在用客户端Navicat Premium登录 就可以登录进去了!