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 &

Macos下重置MySQL密码4. 单独启动一个控制台,修改密码

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

Macos下重置MySQL密码记得刷新一下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连接问题

Macos下重置MySQL密码注意: 之前在设置密码时,使用了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账户。

上一篇:2020-12-24


下一篇:PHP安装与配置