Macos下重置MySQL密码

Posted bladestone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Macos下重置MySQL密码相关的知识,希望对你有一定的参考价值。

环境信息

Macos Catalina 10.15.7 (19H2)
mysql 8.0.22

问题

忽然一段时间忘记了MySQL数据库的密码,登录不上去了。该如何办呢?

预想中的路径

  1. mysqld_safe --skip-grant-tables 设置密码不生效
  2. mysql -u root 直接登录
  3. 重置密码之类的动作

结果发现,mysqld_safe无法启动成功,一直被拒绝启动

实际重置路径

  1. brew uninstall mysql 卸载mysql
  2. brew install mysql 重新安装
  3. 单独开一个控制台,启动mysql_safe
mysqld_safe --skip-grant-tables

或者直接在后台启动:

mysqld_safe --skip-grant-tables &

4. 单独启动一个控制台,修改密码

 mysql -u root
 use mysql;
 ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your password';
 flush privileges;

记得刷新一下privleges,方可立即生效。
5. 重新登录即可。

加速brew方法

如果brew更新速度慢的话,可以考虑切换至国内的镜像,具体操作如下:

    cd "$(brew --repo)"  
    git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
     
    cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
    git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
     
    echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
    source ~/.bash_profile

前两条指令是切换镜像源到aliyun上。最后一条指令是写入profile文件,启动之后自动执行。

Sequel Pro连接问题

注意: 之前在设置密码时,使用了caching_sha_password的加密函数,但是sequel pro目前的版本是2016年,估计不支持此类加密方法。
那就单独为sequel pro增加一个用户好了。

mysq -u root -p 
use mysql;
CREATE USER 'test'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test1234';
grant all privileges on *.* to test@'localhost';

这里的逻辑是单独为sequel pro增加了一个可用的mysql账户。

以上是关于Macos下重置MySQL密码的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MacOS 上重置 MySQL 或 MariaDB(使用 brew 安装)?

如何在 mac os 10.13.3 中重置我的 mysql 密码

MacOS重置开机密码

关于MAC下重置MYSQL密码

windows 下重置 mysql 的 root 密码

WampServer下修改和重置MySQL密码