误锁本地phpMyAdmin的root用户后无法连接的解决方法
解决phpMyAdmin中root用户被锁定无法访问的问题
因为root账号是被MySQL本身锁定,修改phpMyAdmin的配置文件无法解锁,必须直接操作MySQL服务来解除锁定,具体步骤如下:
1. 停止MySQL服务
- Windows:打开命令提示符(CMD),执行
net stop mysql;或者在系统「服务」列表中找到MySQL服务,右键选择停止 - Linux/macOS:若为系统包管理安装的MySQL,执行
sudo systemctl stop mysql;若通过brew安装,执行brew services stop mysql
2. 跳过权限验证启动MySQL
这一步是绕开账号锁定和密码验证,直接进入MySQL:
- Windows:先进入MySQL的bin目录(示例路径:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin,请根据你的实际安装版本调整路径),然后执行mysqld --skip-grant-tables --shared-memory - Linux/macOS:执行
sudo mysqld_safe --skip-grant-tables &,部分新版本可直接使用mysqld --skip-grant-tables
3. 无权限验证登录MySQL
重新打开一个终端/CMD窗口,直接输入 mysql 回车,无需添加 -u root -p 参数,即可直接进入MySQL命令行界面。
4. 解锁root用户
在MySQL命令行中依次执行以下命令:
USE mysql; UPDATE user SET account_locked = 'N' WHERE user = 'root' AND host = 'localhost'; FLUSH PRIVILEGES;
提示:如果你的root用户对应的host不是
localhost(比如是%),将语句中的localhost替换为实际的host值即可。
5. 恢复MySQL正常启动
- 关闭刚才启动的跳过权限验证的MySQL进程(Windows直接关闭对应的CMD窗口;Linux/macOS可执行
sudo systemctl stop mysql终止进程) - 重新启动MySQL服务:
- Windows:执行
net start mysql - Linux/macOS:执行
sudo systemctl start mysql或brew services start mysql
- Windows:执行
6. 验证访问
重新打开浏览器访问 localhost/phpmyadmin,使用原root账号即可正常登录。
内容的提问来源于stack exchange,提问作者Rubel
相关产品推荐
相关产品推荐

