linux mysql8.0重置密码
时间: 2025-01-05 22:31:10 浏览: 11
### 如何在 Linux 系统上重置 MySQL 8.0 的 root 用户密码
#### 停止 MySQL 服务
为了安全地更改 `root` 密码,需要先停止正在运行的 MySQL 服务:
```bash
sudo systemctl stop mysqld
```
#### 启动 MySQL 跳过权限表
通过跳过权限表启动 MySQL 实例,允许无密码访问数据库:
```bash
sudo mysqld_safe --skip-grant-tables &
```
这将以不加载授权表的方式启动 MySQL。
#### 登录到 MySQL 并修改密码
连接至 MySQL 数据库无需提供密码:
```sql
mysql -u root
```
执行 SQL 查询来更新 `root` 用户的认证信息:
```sql
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
```
上述命令会刷新权限并设置新的 `root` 密码[^4]。
#### 创建远程登录账户 (可选)
如果希望可以从其他主机管理 MySQL,则可以创建一个新的具有完全权限的 `root` 远程用户:
```sql
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
此操作不仅设置了本地 `root` 访问还启用了来自任何 IP 地址的管理员级访问[^2]。
#### 关闭 MySQL 安全模式
完成以上配置之后记得重启 MySQL 来关闭 `--skip-grant-tables` 模式:
```bash
sudo pkill -9 mysqld
sudo systemctl start mysqld
```
现在应该能够使用刚刚设定的新密码正常登录 MySQL 服务器了。
阅读全文