Linux Mint下MySQL 8.0超级用户缺失及权限问题求助
解决Linux Mint下MySQL 8.0无超级用户、无法修改权限表的问题
针对你遇到的问题,按以下步骤操作可恢复root超级用户权限:
步骤1:停止当前MySQL服务
先确保MySQL服务完全停止,避免进程冲突:
sudo systemctl stop mysql # 若仍有残留进程,强制终止 sudo pkill mysqld
步骤2:启动MySQL并跳过权限验证
启动时添加参数跳过权限检查,同时禁用远程连接防止干扰:
sudo mysqld_safe --skip-grant-tables --skip-networking &
步骤3:无密码登录MySQL
直接登录,无需输入密码:
mysql -u root
步骤4:关键操作刷新权限
跳过权限表启动后,必须先执行刷新操作才能修改权限相关表,否则会触发1290错误:
FLUSH PRIVILEGES;
步骤5:重置root用户密码或创建超级用户
- 若root用户存在但权限异常,直接重置密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
(注:MySQL 8.0要求密码符合复杂度规则,若需临时降低要求,可先执行SET GLOBAL validate_password.policy=LOW;)
- 若root用户不存在,先创建再赋予全权限:
CREATE USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
步骤6:再次刷新权限并退出
FLUSH PRIVILEGES; exit;
步骤7:恢复正常启动
终止临时的mysqld_safe进程,然后正常启动MySQL服务:
sudo pkill mysqld sudo systemctl start mysql
步骤8:验证登录
用新密码登录,确认权限恢复正常:
mysql -u root -p
彻底重装的正确姿势(若之前重装无效)
如果多次重装仍有问题,需彻底清理残留文件后再重装:
# 卸载所有MySQL相关包 sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* # 删除残留配置和数据目录 sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql # 清理依赖残留 sudo apt autoremove && sudo apt autoclean # 重新安装MySQL sudo apt install mysql-server
内容的提问来源于stack exchange,提问作者facundolubo
相关产品推荐
相关产品推荐

