You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MySQL root@localhost登录失败及重装时找不到mysql-server包求助

解决MySQL 5.7 root@localhost登录失败及重装找不到包的问题

先解决root登录失效的问题(优先尝试,不用重装)

我之前也碰到过类似的MySQL 5.7 root突然登不上的情况,先给你说不用重装就能恢复的办法:

  • 停止MySQL服务:
    sudo systemctl stop mysql
    # 要是你用的是旧版Ubuntu,就用这个:sudo service mysql stop
    
  • 跳过权限验证启动MySQL:
    sudo mysqld_safe --skip-grant-tables &
    
  • 无密码直接登录root:
    mysql -u root
    
  • 切换到系统库,重置root密码(注意MySQL 5.7用的是authentication_string字段,不是旧版的password):
    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('你的新密码') WHERE User='root' AND Host='localhost';
    FLUSH PRIVILEGES;
    EXIT;
    
  • 重启MySQL服务,用新密码登录试试:
    sudo systemctl restart mysql
    mysql -u root -p
    

如果还是不行,建议去看错误日志找具体原因:

cat /var/log/mysql/error.log

里面可能会有密码过期、权限表损坏这类关键提示。


解决重装时「E: Unable to locate package mysql-server」的问题

这个错误是因为新版本系统(比如Ubuntu 20.04+)的默认软件源里已经没有MySQL 5.7的包了,得手动添加官方源:

  • 下载MySQL 5.7的APT配置包:
    wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
    
  • 运行配置包,在弹出的界面里依次选择「MySQL Server & Cluster」→「mysql-5.7」→「Ok」保存配置:
    sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
    
  • 更新软件源缓存:
    sudo apt update
    
  • 现在就能正常安装MySQL 5.7了:
    sudo apt install mysql-server-5.7
    

内容的提问来源于stack exchange,提问作者jicman

火山引擎 最新活动