mac os下重置mysql密码

好久没用mysql今天重新使用时候发现root密码忘记了,参考了网上的一些解决方案成功修改了密码,特把重置密码可行的解决方案记录在这里,供参考。

首先需要直到自己的mysql安装路径,这里是 /usr/local/mysql 。
当忘记密码,或者想要强行重置 MySQL 密码的时候,可以像下面这样:

1.停止 MySQL 服务
sudo /usr/local/mysql/support-files/mysql.server stop
//当停止失败 见下边 如何用mac 活动指示器停止服务。

也可以在系统设置中停用mysql服务。

2.进入安全模式
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

说是安全模式,其实是超级危险模式!如果你是在本地修改,那没问题;如果是在服务器上,那你得保证这个时候没有任何人登录到系统。请确保你修改时没有人可以连接到数据库,最好的做法是断掉网络连接,在本地修改完成后再重新启用该服务器。因为一旦进入了安全模式,任何人都可以使用任何密码通过 root 用户登录入到 MySQL ,可以执行任何想执行的操作。

这也是为什么,当我们密码忘记了的时候,我们可以这样来修改密码。凡事有利有弊,你可以用这种方式来做好事;而同样,可以用来做坏事。

3.新打开一个终端,进入 MySQL
mysql -u root -p

然后输入任意密码进入 MySQL 了。

4.修改密码

进入了之后先不要急着使用 update 命令修改密码,先看看表中的字段名。不同版本密码的字段名可能不一样。

MySQL 的用户信息是存在 mysql.user 这个表里面的。于是可以先选择 mysql 这个数据库,再看数据库中 user 表中的字段名称。

use mysql; //切换数据库
describe user; //查看user表的字段

然后确定密码字段的名称,一般可能是 Password。然而在 OS X 的 MySQL 5.7 这个版本中,密码字段名称是 authentication_string 。记住这个字段名。

然后修改密码:

UPDATE mysql.user SET authentication_string=PASSWORD('123456') where User='root'; //将root用户密码改成 123456
5.刷新权限,使配置生效
flush privileges;
6.重新启动 MySQL
sudo /usr/local/mysql/support-files/mysql.server restart

当启动失败的话,可以直接用mac工具活动监视器:
搜索mysql 进程名称列表有mysql的话,直接双击,点击退出即可。

修改完之后记得刷新权限 和重新启动mysql服务才行。

7.再次设置密码

利用safe模式重新设置密码后,用设置好的密码进入mysql后,可能会遇到这样一段报错

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

这时需要再次设置一下密码

SET PASSWORD = PASSWORD('123456');

完成了这一步之后密码就真的修改成功了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值