如图,当在mac m2上首次安装mysql后尝试登录root用户时,无论输入什么样的密码,或者直接回车键,都会显示access denied for user 'root'@'localhost'。同时win和ubuntu也出现了一模一样的问题,先记录一下mac的解决方法。
参考博文
https://www.cnblogs.com/goodgoodstudyforlong/p/11051485.html#:~:text=mac下安装mysql,连接出现Access%20denied%20for%20user%20%27root%27%40%27localhost%27%20%28using%20password%3A%20YES%29,解决方法,%2Fusr%2Flocal%2Fmysql%2Fbin%2F)回车%20%23%20进入Mac中MySQL的默认安装路径的bin路径%20输入(sudo%20-s)回车以获取管理员权限%20输入(.%2Fmysqld_safe%20--skip-grant-tables%20%26)回车以禁止mysql验证功能,mysql会自动重启,偏好设置中的mysql状态会变成running
这篇文章倒数第二步在我的mac行不通,所以请不要完全照做!
关闭MySQL服务
进入设置,最下端找到MySQL,Stop MySQL Server。
进入终端
cd /usr/local/mysql/bin/
sudo su
./mysqld_safe --skip-grant-tables &
输入以上语句,关闭的sql server将重新启动。
确认无误后进入下一步。
新建终端
cd /usr/local/mysql/bin/
./mysql
flush privileges;
set password for 'root'@'localhost' = ‘$your_password’;
输入以上语句,其中$your_password是你想使用的密码。
输入时不要漏掉分号!这是sql语句的一种格式。
确认无误后进入下一步。
配置环境变量
echo $HOME
open .zsh_profile
export PATH=${PATH}:/usr/local/mysql/bin
如果你的shell不是zsh,就把它替换为你的shell,比如bash_profile。
保存退出,再重新登录。