mysql用户root忘记密码

原文地址:https://blog.csdn.net/u013972652/article/details/87254950

1、说明

开发过程中由于自己电脑安装的mysql密码更新过,没有做笔记,导致后期在使用时候提示密码错误,想着如何找回密码,网上查找到资料,整理如下:

2、解决办法

2.1 找回密码
  • 第一步:关闭mysql服务器。

苹果 --》系统偏好设置 --》 mysql --》Stop Mysql Server

  • 第二步:进入mysql安装路径,用系统管理员权限跳过mysql安全认证,命令结果如下图所示。
1.打开启动台--》其他 --》终端
2.进入mysql安装路径  cd /usr/local/mysql/bin/
3.登录管理员权限 sudo su
4.输入开机密码 ******
5.输入跳过mysql安全认证的命令  ./mysqld_safe --skip-grant-tables &
6.在第一步的mysql设置的画面中发现 关闭的mysql server 又重新变成running了
7.进入mysql 输入命令  ./mysql

如果显示以下字样,则为登录成功。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.24 MySQL Community Server (GPL)
8.刷新权限 FLUSH PRIVILEGES
Query OK, 0 rows affected (0.01 sec)

总结:忘记密码

- 关闭之前的mysql进程
- 跳过授权表开启mysql的服务端 mysqld --skip-grant-tables
- 刷新权限 flush privileges;
  • 第三步:查看用户名密码
    select* from mysql.user;
    如上图,反正是本机的,懒得重新设置密码,看下图
    mysql_native_password : *DA28842831B3C40F4BC1D3C76CF9AD8CBFDAE1CB,拿这个字符串去MD5解密一下就可以找回密码。

如果密码过于繁琐,解密不出来,还可以进行密码重置

2.2 重新设置密码。

重新设置密码的语句根据你的mysql的版本而定。

  • 情况一:知道旧密码,更新密码
1.进入安装目录 cd /usr/local/mysql/bin/
2.打开管理员权限 sudo su 输入开机密码
3.登录mysql  mysql -u root -p 输入密码 
如显示以下欢迎语,则登录成功!
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 70
Server version: 5.7.24 MySQL Community Server (GPL)

4.修改密码
如上一步查看用户名密码时: select * from mysql.user;
这个就是sql语句,一张user表,记录了你的账户信息,修改密码就是要修改其中一条记录的一个值,
新版的密码对应的字段名为:authentication_string,输入命令:

update mysql.user set authentication_string = PASSWORD('123456') where User = 'root';
(旧版的密码对应修改命令为:UPDATE mysql.user SET Password=PASSWORD('123456') WHERE User='root';)

如下显示,则为修改成功!然后刷新权限:FLUSH PRIVILEGES;再退出:quit

Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

5.重新登录 mysql mysql -u root -p 输入密码 123456 ,如下显示,则为新密码登录成功。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 80
  • 情况二:忘记密码,强行修改

  • 忘记密码强行修改一:

1.停止mysql服务:sudo /usr/local/mysql/support-files/mysql.server stop 输入开机密码
2.进入安装目录: cd /usr/local/mysql/bin
3.禁止mysql安全验证 ./mysqld_safe --skip-grant-tables &
显示如下时,禁止成功

root@guofei:/usr/local/mysql-5.7.24-macos10.14-x86_64/bin#     2019-02-14T05:18:51.6NZ mysqld_safe Logging to '/usr/local/mysql-5.7.24-macos10.14-x86_64/data/guofei.local.err'.

2019-02-14T05:18:51.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.7.24-macos10.14-x86_64/data

输入./mysql显示如下时,无安全认证情况下登录成功

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.7.24 MySQL Community Server (GPL)

4.刷新权限 :FLUSH PRIVILEGES;
5.修改密码 : ALTER USER 'root'@'localhost' IDENTIFIED BY '888888';
6.退出mysql重新登录: quit
mysql -u root -p输入刚刚更新的 888888,登录成功

  • 忘记密码,强行修改二:
  1. 停止 mysql server. 通常是在 '系统偏好设置' > MySQL > 'Stop MySQL Server'
    或者: sudo /usr/local/mysql/support-files/mysql.server stop
  2. 打开终端,输入:sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables(此处和强行修改一的区别就是 & 符号)
  3. 打开另一个新终端,输入:
    sudo /usr/local/mysql/bin/mysql -u root
  -  UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE User='root';
(旧版请使用:UPDATE mysql.user SET Password=PASSWORD('123456') WHERE User='root';)
  -   FLUSH PRIVILEGES;
  -    `\q`
  1. 重启 sudo /usr/local/mysql/support-files/mysql.server restart
  2. 用新密码登录进入安装目录 cd /usr/local/mysql/bin/
    mysql -u root -p 输入新密码 123456登录成功。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mysqladmin -u root -p oldpass password newpass mysqladmin...
    不排版阅读 2,217评论 0 3
  • 在mysql安装的时候会有一个随机密码,但是在安装的时候并没有注意到,因此在数据库登录的时候就不知道密码。接下来就...
    RosalindJuan阅读 264评论 0 0
  • 忘记密码 step1: 苹果->系统偏好设置->最下边点mysql在弹出页面中 关闭mysql服务(点击stop ...
    快乐的女疯子阅读 133评论 0 0
  • 你来了,你又来了。 猝不及防的,而且,绵延长长的。 本来,我以为,经过去年,我和你“跃进式的了解”,你会来得少一些...
    蓓蕾_57f2阅读 442评论 0 6
  • 已在小城生活五个来月,一切安好。 这里除了慢节奏的生活,更让我欣喜的是内心常趋于宁静。这样有绝好的机会来察觉内心暗...
    天赋疗愈空间阅读 319评论 2 2