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

AWS EC2实例中MySQL默认root用户密码及启动异常问题

解决AWS EC2上MySQL root密码重置及mysql_secure_installation报错问题

步骤1:停止正在运行的MySQL服务

先确保MySQL服务完全停止,避免端口冲突:

# Ubuntu/Debian系统执行
sudo systemctl stop mysql

# Amazon Linux/RHEL/CentOS系统执行
sudo systemctl stop mysqld

步骤2:跳过权限表启动MySQL

MySQL默认禁止以系统root用户运行服务,需指定mysql系统用户启动无权限验证的服务:

sudo mysqld --skip-grant-tables --user=mysql &

执行后终端无输出属于正常现象,服务会在后台启动。

步骤3:无密码登录并重置root密码

新开一个终端窗口,直接登录MySQL(无需输入密码):

mysql -u root

进入MySQL命令行后,根据你的MySQL版本执行对应语句重置密码(将your_new_password替换为自定义密码):

-- 切换到系统数据库
USE mysql;

-- MySQL 5.7及以下版本用这条
UPDATE user SET Password=PASSWORD('your_new_password') WHERE User='root';

-- MySQL 8.0及以上版本用这条
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';

-- 刷新权限使更改生效
FLUSH PRIVILEGES;

-- 退出MySQL
EXIT;

步骤4:恢复正常服务并执行安全配置

先终止后台的无权限验证服务:

sudo pkill mysqld

启动正常的MySQL服务:

# Ubuntu/Debian系统
sudo systemctl start mysql

# Amazon Linux/RHEL/CentOS系统
sudo systemctl start mysqld

现在执行mysql_secure_installation,输入刚才设置的root密码即可完成安全配置:

sudo mysql_secure_installation

补充说明

  • mysqld_safe找不到:MySQL 8.0及部分新安装包已弃用或默认不包含该命令,直接用mysqld加参数即可实现相同功能。
  • 禁止root运行mysqld:这是MySQL的安全限制,避免系统root权限泄露,必须指定--user=mysql启动服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 10:55:02