环境信息
Macos Catalina 10.15.7 (19H2)
MySQL 8.0.22
问题
忽然一段时间忘记了MySQL数据库的密码,登录不上去了。该如何办呢?
预想中的路径
- mysqld_safe --skip-grant-tables 设置密码不生效
- mysql -u root 直接登录
- 重置密码之类的动作
结果发现,mysqld_safe无法启动成功,一直被拒绝启动
实际重置路径
- brew uninstall mysql 卸载mysql
- brew install mysql 重新安装
- 单独开一个控制台,启动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账户。