浏览文章

文章信息

Mysql5.7以上忘记密码最终解决方法支持windows和linux 16010

以下执行均在MySQL的bin目录下完成:

为了教程能够全面顾及,这里分windows系统和Linux系统两种情况

例如:

windows:

D:\MySQL5.7\bin

        我们将MySQL安装在D:\MySQL5.7,则全部操作在D:\MySQL5.7\bin下完成

linux:

/mysql/bin

        我们将MySQL安装在/mysql,则全部操作在/mysql/bin下完成


1、停止MySQL

Windows下操作:

打开cmd输入

D:

cmd将转到D盘

再转到D:\MySQL5.7\bin

执行

net stop mysql

成功停止MySQL后,关闭cmd窗口


linux下操作

执行 

service mysqld stop

若未停止,请检查MySQL软件的启动是否注册到系统中


2、跳过权限检查

Windows下操作:

重新打开cmd跳转到D:\MySQL5.7\bin

执行

mysqld --skip-grant-tables

Linux下操作

配置文件my.cnf,并在里面增加一行:skip-grant-tables   保存并退出(:wq)

vi /etc/my.cnf

(注意:如果你的MySQL是其他软件安装,或者自行迁移了my.cnf请打开此文件添加即可)

vi操作提示:vi打开文件后按下i键进入编辑模式,添加skip-grant-tables 后按下esc输入':wq'后回车即可保存内容)


3、修改密码

Windows下操作:

重新打开cmd跳转到D:\MySQL5.7\bin

依次执行以下命令

# 
# 1、进入MySQL
D:\MySQL5.7\bin>mysql
# 2、切换到MySQL数据库
mysql>use mysql
# 3、修改MySQL中root用户的密码
mysql>update mysql.user set authentication_string=password('root') where user='root' and Host = 'localhost';
# 4、刷新数据库权限
mysql>flush privileges;
# 5、完成退出
mysql>quit

Linux下操作:

# 
# 1、启动MySQL
[root@demo ~]#service mysqld restart
# 2、登录数据库
[root@demo ~]#mysql -u root
# 3、切换到MySQL数据库
mysql>use mysql
# 4、修改MySQL中root用户的密码
mysql>update mysql.user set authentication_string=password('root') where user='root' and Host = 'localhost';
# 4、刷新数据库权限
mysql>flush privileges;
# 5、完成退出
mysql>quit

接着在配置文件my.cnf中把刚增加这行:skip-grant-tables  删除掉 保存并退出(:wq)

重启MySQL

service mysqld restart


总结:以上内容是我为了方便大家写的,如果过程中存在什么问题,请直接站内发送信息到管理员!




原创