mysql重置root密码
mysql重置root密码

mysql重置root密码

应该有不少用户在使用mysql的时候搞忘记过自己的密码吧?今天说三种mysql重置密码的方法.

第一种:修改my.ini文件

第二种:命令跳过

第一二种方法其实都是同一个原理:通过配置参数“skip_grant_tables”在mysql启动时跳过grant_tables(授权表),从而通过命令来重置root帐号的密码

第三种:利用运维软件(例如宝塔)或者集成环境自带的重置(这个原理我就不知道了)

 

第一种:修改mysql根目录下的my.ini文件(适用于windows系统)

A.首先停止mysql服务(开始菜单搜索"服务"然后找到mysql,停止它.

或者管理员权限运行cmd之后输入net stop mysql再回车)

B.找到my.ini文件(右击mysql服务找到可执行文件路径,从所在的目录或其它层级目录搜索),在[mysqld]块下增加“skip_grant_tables”(你记得文件路径的话也可以直接找到mysql根目录,打开my.ini,然后在[mysqld]块下增加“skip_grant_tables”)

(引号是注明要输入的内容,不是让你把引号也输进去哈)

大概就像这样,标记了mysqld块的位置,还有参数的添加位置

QQ截图20210515125907

C.然后重启mysql服务(这个不用讲,和停止服务差不多的操作,如果是命令的话,改成net start mysql)

D.以管理员权限打开cmd命令窗口,执行mysql -uroot –p直接回车不用输入密码

E.输入use mysql,回车挂载数据库

F.使用update语句更新表内容修改密码

update user set authentication_string=password(‘testpassword’) where user='root';

G.然后刷新权限:flush privileges,再退出:quit

H.重新登录:mysql -uroot -p提示输入密码,这时输入密码就能登录

I.记得回去my.ini把参数“skip_grant_tables”删除了,然后重启mysql服务

 

第二种:利用命令跳过(适用于linux环境)

1.首先输入“service mysqld status”查看当前mysql服务状态

2017031709023719.png

2.输入“killall -TERM mysqld”命令停止所有的mysqld进程。

2017031709023720.png

3.输入“service mysqld stop”命令停止mysqld服务。2017031709023821.png

4.输入“mysqld_safe --skip-grant-tables &”命令以无密码方式进入MySQL安全模式。
2017031709023822.png

5.输入“mysql -u root”并按回车键即可。

2017031709023923.png

6.输入“use mysql;”挂载数据库。

注意:请勿忘记在最后输入分号

7.输入"update user set password=password(‘testpassword’) where user='root';"将root密码修改为testpassword。(当然你想改啥密码改啥密码)

G.然后刷新权限:flush privileges,再退出:quit

H.重新登录:mysql -uroot -p提示输入密码,这时输入密码就能登录

只是这里是直接使用命令指定了参数,就不需要对my.ini文件进行修改,后面的步骤差不多我就不配图了(虽然我前面也没配)

 

第三种:利用运维软件(适用于服务器环境)

宝塔左边栏有个数据库选项,选择之后跳到数据库管理页,在这里直接修改root密码就可以了

QQ20210515131715.png
还有一种phpmyadmin的集成工具,它自带一个root密码重置选项,很容易找到,就不说了

如果对博文有所疑问欢迎评论

有一点忘了说,在修改my.ini的时候,保存编码方式要用ANSI,不要用UTF-8,不然会出现报错,虽然我也没搞明白为什么。
130424 20180819024136916 2066407955
5 2 投票数
Article Rating
订阅
提醒
0 评论
内联反馈
查看所有评论
0
有什么想说的吗?评论几句?x
()
x