Mac环境MySQL 5.7.20登录权限报错求助:命令行与Workbench均失败
解决MySQL 5.7.20在Mac OS X上的登录权限问题
嘿,我来帮你搞定这个MySQL登录的麻烦!先从你提供的命令行输入和错误信息里,我发现了几个关键问题,一步步来解决:
1. 先纠正命令行的参数错误
你输入的登录命令mysql -user -p是有问题的!MySQL指定用户名的正确参数是-u(短参数)或者--user=(长参数),比如要登录root用户,应该写成:
mysql -u root -p
之前的错误信息里出现'ser'@'localhost',就是因为-user被系统错误解析成了用户名的一部分,这是第一个需要修正的点。
2. 重置root用户密码(针对Workbench和正确命令仍登录失败的情况)
MySQL 5.7在Mac上安装后,经常会出现root权限或者密码异常的问题,卸载重装没用大概率是因为残留的权限配置没清理干净,我们可以通过跳过权限表的方式重置密码:
操作步骤:
- 停止MySQL服务:打开系统偏好设置(System Preferences),找到MySQL图标,点击
Stop MySQL Server;或者用命令行执行:sudo /usr/local/mysql/support-files/mysql.server stop - 启动MySQL并跳过权限验证:在终端执行这条命令,执行后这个终端窗口会保持运行状态,不要关闭它:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables - 新开一个终端窗口,无密码登录MySQL:
mysql -u root - 更新root用户密码:
首先切换到mysql系统数据库:
然后刷新权限(避免后续报错):USE mysql;
最后设置新密码(把FLUSH PRIVILEGES;your_new_password换成你想设置的密码):ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password'; - 退出并重启正常的MySQL服务:
在登录的MySQL终端里输入exit;,然后回到之前运行mysqld_safe的终端,按Ctrl+C停止服务,再通过系统偏好设置或者命令行启动MySQL服务:sudo /usr/local/mysql/support-files/mysql.server start - 测试登录:用新密码试试命令行
mysql -u root -p,或者在MySQL Workbench里用新密码连接localhost:3306。
3. 彻底卸载残留文件(如果重置密码仍无效)
如果上面的步骤还是不行,那可能是之前卸载的时候没清理干净,需要手动删除残留文件:
- 停止MySQL服务后,删除MySQL安装目录:
sudo rm -rf /usr/local/mysql - 删除偏好设置文件:
rm ~/Library/Preferences/com.oracle.MySQL.plist - 删除系统配置文件(如果存在):
sudo rm /etc/my.cnf - 然后重新下载MySQL 5.7.20安装包进行安装,安装完成后再按照步骤2重置密码。
内容的提问来源于stack exchange,提问作者user9266609
相关产品推荐
相关产品推荐

