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登录 就可以登录进去了!