Ubuntu 18.04中MySQL安装故障:root密码异常与服务启动失败求助
解决升级系统后MySQL Root密码异常+启动失败的方案
嘿,我之前也遇到过升级系统后MySQL抽风的情况,结合你给出的systemctl status mysql.service显示服务启动失败(exit-code)的信息,咱们一步步来修复:
1. 先彻底关停MySQL相关进程
首先得把所有MySQL进程都停干净,避免残留进程干扰后续操作:
sudo systemctl stop mysql sudo killall -9 mysqld
2. 以跳过权限验证的模式启动MySQL
这一步能让你绕开密码直接登录,方便重置root密码:
sudo mysqld_safe --skip-grant-tables &
执行完等个3-5秒,让服务启动起来,然后新开一个终端窗口继续操作。
3. 无密码登录并重置Root密码
执行下面的命令登录MySQL,直接回车不用输密码:
mysql -u root
进入MySQL命令行后,根据你的MySQL版本执行对应的重置语句:
- 如果你是MySQL 5.7及以下版本:
USE mysql; UPDATE user SET authentication_string=PASSWORD('你的新密码') WHERE User='root'; FLUSH PRIVILEGES; EXIT;
- 如果你是MySQL 8.0及以上版本(注意8.0移除了PASSWORD()函数):
USE mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; FLUSH PRIVILEGES; EXIT;
4. 重启MySQL并验证修复效果
先停掉刚才的安全模式进程:
sudo killall -9 mysqld
然后正常启动MySQL服务:
sudo systemctl start mysql
现在用新密码登录测试,看看能不能正常进入:
mysql -u root -p
输入你刚设置的新密码,应该就能正常使用了。
5. 如果还是启动失败?查错误日志找根源
要是执行完上面的步骤还是启动失败,那得看详细的错误日志找原因:
sudo cat /var/log/mysql/error.log
常见的坑有:
/var/lib/mysql目录的权限不对,属主不是mysql用户,解决命令:
sudo chown -R mysql:mysql /var/lib/mysql sudo chmod -R 755 /var/lib/mysql
- 配置文件(比如
/etc/mysql/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf)里有错误参数,检查一下有没有拼写错的配置项。
内容的提问来源于stack exchange,提问作者VitVit
相关产品推荐
相关产品推荐

