mysql8 恢复加密方式为caching_sha2_password
时间: 2024-12-17 15:43:10 浏览: 15
MySQL 8 中默认使用的密码加密存储机制已经从较旧的`MySQL_native_password`升级到了更安全的`caching_sha2_password`。如果你需要恢复到`caching_sha2_password`加密方式,通常不需要特意恢复,因为这是一个向后的兼容更改。然而,如果遇到了某些问题导致数据库仍然使用了旧的加密格式,可以按照以下步骤操作:
1. **停止MySQL服务**:
停止MySQL服务器,确保它不会在修改配置期间运行。
2. **编辑my.cnf文件**:
找到MySQL配置文件(通常是`my.cnf`或`my.ini`),打开它并找到`[mysqld]`部分。确保`secure_auth`选项设置为`1`,表示启用新的SHA2加密插件。如果没有这个选项,添加一行:
```
secure_auth=1
```
3. **更新权限表**:
使用`mysql_secure_installation`工具(如果安装了),或者直接通过命令行执行SQL脚本来转换用户密码:
```sql
ALTER USER 'username'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
```
将上述命令中的`username`和`password`替换为实际的用户名和密码。
4. **重启MySQL服务**:
保存并关闭配置文件,然后重启MySQL服务。
5. **验证更改**:
登录MySQL并检查当前用户的加密方式:
```sql
SELECT User, Authentication_string, Password_algorithm FROM mysql.user;
```
应该能看到`Authentication_string`列显示为`caching_sha2_password`。
阅读全文