使用的是mysql5.7.17解压版,win7 64
位系统。
1.修改配置文件my.ini,可以选择用记事本打开
2.打开后,搜索mysqld关键字
找到后,在mysqld下面添加skip-grant-tables,保存退出。
配置什么的可以不用去修改(现在是因为各种原因忘记root密码,或是MySQL服务启动不了,删除data文件夹后,重现出事后MySQL导致旧密码失效。要解决的是这个问题。)保证添加了这一行就行。
重启MySQL服务,推荐的是用在windows系统服务器找到mysqld进行重启(也可以像有的教程一样,在cmd用命令行的方式去重启,可能会遇到MySQL服务无法启动的情况。)此时,如果MySQL服务启动不了,不要着急,重启windows系统就行。
3.运行cmd,输入mysql -u root -p
这时候提示你输入密码,直接回车就可以进入。
1.进入mysql
mysql> use mysql;
提示Database changed
2.给root用户设置新密码
mysql> update user set password=password("123456") where user="root";
(注意5.7.1的MySQL的user表中已经没有passwrod了,此时会提示),新本的mysql的user表中的password字段已经改成了authentication_string 字段了
这时候,需要输入的命令是
update user set authentication_string = password("123456") where user="root";
提示Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0
3.刷新数据库
mysql> flush privileges
;
提示Query OK, 0 rows affected (0.01 sec)
4.退出mysql
mysql> quit
之后,再修改一下my.ini这个文件,删除刚加入的"skip-grant-tables",保存退出再重启mysql,OK。