mysql忘记密码
mysql忘记密码无法登陆,此时需要修改密码。但是修改密码又要登陆才能修改,此时就陷入了一个循环。其实mysql可以免密登陆,然后再修改密码即可,以我这台macbook为例:
首先停止mysql服务
# 停止 homebrew 的服务
brew services stop mysql
# 强制杀掉可能存在的残留进程
sudo pkill mysqld
然后跳过权限表模式启动
# 这种启动方式会占用当前终端窗口
mysqld_safe --skip-grant-tables &
不要关闭当前的终端terminal,另开一个terminal,此时可以免密进入mysql
mysql -u root
进入mysql命令后之后,依次执行以下语句:
-- 1. 刷新权限
FLUSH PRIVILEGES;
-- 2. 修改密码(注意将 '你的新密码' 替换掉,且保留单引号)
-- 如果你是 MySQL 8.0+ 版本用这个:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
-- 3. 再次刷新并退出
FLUSH PRIVILEGES;
exit;
回到刚开那个窗口,按ctrl+c终止这个mysql进程,然后重新开启mysql服务
brew services start mysql
现在再重新尝试用新密码登陆mysql -u root -p即可正常登陆进来。