Centos7 MySQL密码
时间: 2025-02-14 22:15:06 浏览: 31
### 如何在 CentOS 7 中设置或重置 MySQL 密码
#### 设置 MySQL Root 用户初始密码
对于初次安装后的 MySQL,在 CentOS 7 上可以通过特定的方式设定 `root` 用户的初始密码。如果直接通过命令行尝试访问而未被阻止,这可能意味着当前环境下的 MySQL 实例尚未设置有效的认证机制来保护默认账户。
为了安全起见并遵循最佳实践:
- 需要先停止正在运行中的 MySQL 服务实例:
```bash
sudo systemctl stop mysqld.service
```
- 接着启动带有跳过授权表选项的服务以便绕过现有权限控制,允许无密连接到数据库服务器进行必要的更改[^1]。
- 使用文本编辑器打开 `/etc/my.cnf.d/mysql-server.cnf` 或者 `/etc/my.cnf` 文件,并添加如下配置项至 `[mysqld]` 下方:
```
skip-grant-tables=1
```
- 完成上述修改之后再次重启 MySQL 服务使改动生效。
此时应该能不带任何参数直接执行 `mysql` 命令进入交互界面而不受阻碍[^3]。
#### 修改 Root 用户密码
一旦成功进入了 MySQL 控制台,则可按照下面的方法更新 root 的身份验证信息:
针对不同版本号采取不同的 SQL 语句形式完成此过程。考虑到 MySQL 版本差异较大(如5.x系列对比8.0),这里提供两种方式供参考:
##### 对于较旧版 (<= 5.7)
```sql
UPDATE mysql.user SET authentication_string = PASSWORD('新密码') WHERE User = 'root';
FLUSH PRIVILEGES;
```
这条指令会将指定用户的加密后的新密码存入相应的字段内,并立即应用这些变更以确保即时可用性[^4]。
##### 对于新版 (> 5.7 至 8.0)
```sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
```
该命令不仅改变了给定账号的身份验证凭证,还指定了所使用的插件(`mysql_native_password`)用于处理后续的身份验证请求[^2]。
请注意替换 `'新密码'` 为实际想要设立的安全强度足够的字符组合。
最后一步是移除之前临时加入的配置条目 (`skip-grant-tables`) 并正常重启 MySQL 服务让其恢复常规运作模式。
---
阅读全文
相关推荐


















