MySQL忘记root密码解决方法

mysql-5.7.12-winx64.zip解压安装方式

  • 解压文件到你想要安装的位置。 本人是直接解压到E盘。
  • 配置环境变量,在path中配置:
D:\develop\mysql-5.7.25-winx64\bin;
  • 在D:\develop\mysql-5.7.25-winx64中,新建my.ini,对mysql进行配置。
    (注意这里my.ini编码为ANSI)

配置内容可为:

--------------------- 
[client]

port=3306

default-character-set=utf8

[mysqld]

port=3306

character_set_server=utf8

解压目录

basedir=D:\develop\mysql-5.7.25-winx64

解压目录下data目录

datadir=D:\develop\mysql-5.7.25-winx64\data


sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[WindowsMySQLServer]
Server=D:\develop\mysql-5.7.25-winx64\bin\mysqld.exe

进入命令窗口

首先在D:\develop\mysql-5.7.25-winx64目录执行:命令:

mysqld --initialize

直接初始化mysql,生成data文件夹中的文件。

接着在

D:\develop\mysql-5.7.25-winx64\bin

目录执行:

命令:mysqld -install     #安装mysql
命令:net start mysql          #启动[服务器]

登录

此时用mysql -uroot -p登录时,不知道密码,按以下步骤设置密码。

  • 编辑mysql配置文件my.ini(E:\mysql-5.7.12-winx64),在[mysqld]这个条目下加入
skip-grant-tables

保存退出后重启mysql

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

  • 停止:输入 net stop mysql

  • 启动:输入net start mysql

这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。

进入mysql数据库:

mysql> use mysql;
Database changed

给root用户设置新密码

mysql> (版本5.5)update user set password=password("zxm1243") where user="root";

(版本5.7)update user set authentication_string=password('zxm1243') where user='root' and Host = 'localhost';
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

刷新数据库

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

退出mysql:

mysql> quit
Bye

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

修改完毕。重启mysql服务。

登录:mysql -uroot -pzxm1243

mysql就可以连接了

但此时操作似乎功能不完全,还要alter user…

mysql> alter user 'root'@'localhost' identified by '123';

这样也可以:

mysql> set password for 'root'@'localhost'=password('zxm1243');

然后:

mysql>quit;

这样就可以直接登录了

Mysql -uroot -pzxm1243 直接登录。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容