centos7mysqlroot密码
时间: 2025-01-04 20:27:59 浏览: 6
### 如何重置 CentOS 7 上 MySQL Root 用户的密码
#### 停止 MySQL 服务
为了安全地更改 root 密码,需要先停止正在运行的 MySQL 或 MariaDB 服务。这可以通过 `systemctl` 来完成。
```bash
sudo systemctl stop mysqld.service
```
#### 修改 MySQL 配置文件 (可选)
如果遇到权限问题或其他复杂情况,可以临时修改配置文件 `/etc/my.cnf.d/mysql-server.cnf` 添加 skip-grant-tables 参数来绕过授权表验证[^1]。
#### 使用 Safe Mode 启动 MySQL
启动 MySQL 数据库时跳过权限表以允许无密码访问:
```bash
sudo mysqld_safe --skip-grant-tables &
```
此命令会以后台模式启动 MySQL 并忽略所有的账户和密码设置[^2]。
#### 登录到 MySQL Shell
此时可以直接连接至 MySQL 而无需提供任何凭证信息:
```bash
mysql -u root
```
#### 更新 Root 用户密码
进入 SQL 提示符后执行如下语句更新 root 用户的新密码。对于 MySQL 版本不同语法可能有所区别,请确认版本后再操作。
对于 MySQL 5.7 及以上版本应使用 ALTER USER 方法:
```sql
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
```
而对于较早版本则需直接编辑 user 表中的 password 字段:
```sql
USE mysql;
UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;
```
#### 关闭并正常重启 MySQL 服务
完成上述步骤之后记得关闭当前处于 safe mode 下的服务实例,并移除之前所做的所有特殊配置变更(如果有),最后重新启动常规方式下的 MySQL 进程。
```bash
sudo pkill mysqld
sudo systemctl start mysqld.service
```
#### 测试新的 Root 凭证
尝试用刚设定好的新密码再次登陆 MySQL 系统检验是否成功生效。
```bash
mysql -uroot -p
```
输入刚才设置的新密码即可登录。
阅读全文