1. 登陆mysql报错
启动mysql
sudo /usr/local/mysql/support-files/mysql.server start
 
  | 
 
终端登陆mysql
发现输入密码后报错了,输了几个密码后还是这样
% Enter password: 123456 % ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
 
  | 
 
2. 停止mysql
终端执行
sudo /usr/local/mysql/support-files/mysql.server stop
 
  | 
 
3.启动MySql的安全模式
1 终端跳转到bin目录下
2 执行命令,获取权限
3 输入你电脑的密码
4 密码输完后会有一个 sh-3.2#
在sh-3.2# 下输入:
./mysqld_safe --skip-grant-tables &
 
  | 
 
5 禁止mysql验证,原来停掉的mysql会重新启动
[1] 2514 sh-3.2# 2023-03-11T12:34:01.6NZ mysqld_safe Logging to '/usr/local/mysql-8.0.32-macos13-x86_64/data/wangwangdeMacBook-Pro.local.err'. 2023-03-11T12:34:01.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-8.0.32-macos13-x86_64/data
 
  | 
 
4.开始重置密码
1 原来的终端不动,重新打开一个新的终端,
执行命令跳过验证进入:
2 切换到mysql
3 把root的密码改为空
update user set authentication_string='' where user='root';
 
  | 
 
4 刷新权限
5 执行命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';" 
 
  | 
 
6 退出登录
7 重启mysql后,再重新登陆一下mysql
5.重置完成