M1系统Anaconda虚拟环境中MySQL进程与权限问题求助
解决Anaconda虚拟环境中MySQL的三个常见问题
1. 启动提示mysqld_safe A mysqld process already exists,无法弹出查询终端
检查进程状态与位置
- 执行以下命令查看所有mysqld相关进程,包含PID(进程ID)和安装路径:
ps aux | grep mysqld - 输出中排除
grep --color=auto mysqld这一行,剩下的就是正在运行的mysqld进程。
停止并重启进程
- 先尝试用官方命令停止:
mysql.server stop - 如果命令无效,直接通过PID杀进程:
kill <查到的PID数字> - 再次执行
ps aux | grep mysqld确认进程已停止(只剩grep相关行)。 - 重新启动服务后,手动打开终端执行
mysql -u root即可进入查询界面,无需等待自动弹出窗口。
2. mysql_secure_installation提示Error: Access denied for user 'root'@'localhost' (using password: YES)(未设置密码)
- 先尝试无密码登录:执行
mysql -u root -p,出现密码输入提示时直接按回车(不要输入任何内容),若能进入MySQL则继续下一步。 - 若无法登录,先停掉所有mysqld进程(参考问题1的方法),然后启动跳过权限校验的服务:
mysqld_safe --skip-grant-tables & - 新开终端执行
mysql -u root直接登录,然后重置root的空密码:USE mysql; UPDATE user SET authentication_string = '' WHERE User = 'root'; FLUSH PRIVILEGES; EXIT; - 停掉
mysqld_safe进程,正常启动mysql.server start,再执行mysql_secure_installation,按提示设置新密码即可。
3. 执行mysqld --skip-grant报错
- 核心问题:命令参数错误,且未确保原有进程已停止。正确操作步骤:
- 停掉所有正在运行的mysqld进程(参考问题1的
ps和kill命令)。 - 激活你的Anaconda虚拟环境:
conda activate <你的虚拟环境名称> - 执行正确的跳过权限表命令:
mysqld_safe --skip-grant-tables & - 新开终端登录MySQL进行密码重置(参考问题2的SQL命令)。
- 停掉所有正在运行的mysqld进程(参考问题1的
内容的提问来源于stack exchange,提问作者lynn
相关产品推荐
相关产品推荐

