美文网首页
mysql 5.7忘记密码重置(mac)

mysql 5.7忘记密码重置(mac)

作者: 三刀流奥义 | 来源:发表于2019-10-09 17:57 被阅读0次

装完mysql过了半个月没用,今天登陆的时候提示密码不对,试了半天是在试不出来,查了下网上的说法好像没有办法重新找回,只能重置新密码,这......

google搜了下mysql忘记密码,大家被这个折腾的不轻啊,文章抄来抄去,试了一个并没有什么用,重启电脑后又不行了。最后看到有位仁兄提到官方有给解决方法,官方应该相对靠谱吧,照着做一下!

先给出官方链接 https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
如果你能照着链接一步步做没问题那下面就不用看了,不用浪费时间了,如果遇到问题了可以看下下面的描述,看能否对您有所帮助。

我这边是按照官网的步骤一步步来的: image.png

仔细看下官方的描述,正式开始前的2段话特别重要,关系到下面你能否顺利的执行,可是我刚开始还是没看懂。

  1. 第一步是什么意思,命令行登录到启动 MySql server 运行的用户?我的MySql是自动启动的,我也不知道是哪个用户启动了MySql,不管它执行第二步吧(如果你刚好是启动MySql的用户,那后面应该会一路顺风,如果不是往下看吧)
  2. 定位到pid文件

    官方提到了pid文件可能的位置,但是没有具体给出来,用自己的命令行试着找了下,好像在/usr/local/mysql/data/ 文件夹下,可是当我想进到/usr/local/mysql/data/ 文件夹下看看到底文件名是什么的时候 image.png 提示没有权限,用finder前往文件夹/usr/local/mysql
    image.png 看到有一个红色的减号,没权限点不开,右键显示简介 image.png 看到只有_mysql有权限,加权限试试 image.png

加了sudo 执行cd进入文件夹还是进不去。突然意识到官方第一步之前那段话是什么意思了,如果是启动mysql server的用户应该有进入到这个文件夹的权限,可是我实在不知道是哪个用户启动的mysql server,好像还有中切换用户的方法

sudo su
这么切换了之后,文件夹终于能进去了,下面找.pid文件 image.png

.pid结尾的文件有3个实在不知道是哪个,一个一个试,最后试到了下面这个有效

kill `cat /usr/local/mysql/data/mysqld.local.pid`
// 执行完上面这条命令后,从系统偏好mysql里面能看到MySql Server被stop了,可是没过2秒又自动重启了,什么情况?

先不管MySql Server自动重启的情况,准备做下一步吧

  1. 先用笔记下你想设置的新密码,用新密码准备命令 ALTER USER 'root' @'localhost' IDENTIFIED BY 'MyNewPass' (MyNewPass替换成你要新设置的密码)
  2. 把上一步准备好的命令保存在一个txt文件里面,比如你保存的文件名是mysql-init,路径是/usr/shi
  3. 执行命令
// usr/shi/mysql-init  替换为你实际保存的路径
mysqld --init--file=/usr/shi/mysql-init &

考虑到上面第2步kill了server之后,它又自动启动了,这里这条命令在第二部之后里面执行,以防不生效

到这里重新登录数据库,新密码已经生效了

mysql -u root -p
// 输入新密码

3、4两步使用的文件也可以删了,重启电脑,重新登录数据库,没问题新密码生效,喜极而泣!

相关文章

网友评论

      本文标题:mysql 5.7忘记密码重置(mac)

      本文链接:https://www.haomeiwen.com/subject/efmgpctx.html