You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS EC2实例的MySQL 5.7.20中设置/修改root密码并解决权限报错

兄弟,我懂你这种被权限和MySQL配置折腾的烦躁!这个问题其实是因为MySQL需要的套接字目录不仅得存在,还得归对用户所有。我给你一步步捋清楚怎么解决:

步骤1:创建目录并设置正确的权限

你之前直接用mkdir没加sudo所以权限不够,而且就算强行创建了目录,MySQL进程也没法用它——因为目录的所有者不是MySQL运行的用户。执行这两条命令:

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

chown mysql:mysql是把目录的所有权切换给MySQL专属的用户和组,这样mysqld进程才能正常读写这个目录里的套接字文件。

步骤2:启动跳过授权表的MySQL服务

现在目录权限没问题了,重新执行跳过授权表的启动命令:

sudo mysqld_safe --skip-grant-tables &

后面的&是让进程在后台运行,方便你继续执行后续操作。

步骤3:登录MySQL并修改root密码

现在不需要密码就能直接登录MySQL了:

mysql -u root

进入MySQL命令行后,执行下面的SQL语句修改密码(记得把your_new_password换成你自己想设置的密码):

USE mysql;
UPDATE user SET authentication_string=PASSWORD('your_new_password') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;

划重点:MySQL 5.7版本里,存储密码的字段是authentication_string,不是旧版本的password,别写错了!

步骤4:重启MySQL服务验证

先停止刚才后台运行的mysqld_safe进程,再启动正常的MySQL服务:

sudo pkill mysqld_safe
sudo /etc/init.d/mysql start

现在你就可以用新密码登录MySQL了:

mysql -u root -p

输入你刚设置的密码,就能正常进入数据库啦。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:37:18