MySQL忘记root密码解决方法

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

1、解压文件到你想要安装的位置。

本人是直接解压到E盘。

2、配置环境变量,在path中放入:D:\develop\mysql-5.7.25-winx64\bin;

3、在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

4、进入命令窗口
首先在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 #启动[服务器]

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

1)编辑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:的时候直接回车可以进入。

(1)进入mysql数据库:

mysql> use mysql;
Database changed

(2)给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

(3)刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

(4)退出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 就可以直接登录。

你可能感兴趣的:(MySQL忘记root密码解决方法)