|
发表于 2023-5-18 22:46:29
|
显示全部楼层
本楼为最佳答案
在MySQL中,你不能直接使用"WITH sha"这样的语法来指定密码散列方法。但从MySQL 5.7.6开始,你可以通过使用 ALTER USER 语句来更改现有用户的密码散列方法。
以下是一个示例,它创建一个名为"admin"的用户,然后更改其密码并设置所使用的散列方法为SHA-256:
- CREATE USER IF NOT EXISTS 'admin'@'%'
- IDENTIFIED WITH mysql_native_password BY 'admin123';
- ALTER USER 'admin'@'%' IDENTIFIED WITH 'sha256_password' BY 'admin123';
复制代码
这样,'admin'用户的密码就会使用SHA-256散列方法进行加密了。不过需要注意的是,如果你使用的是MySQL 8.0或以上的版本,'sha256_password'这个插件可能需要在服务器端启用。
如果你的MySQL服务器配置了SSL,你也可以使用 'caching_sha2_password' 这个更安全的密码插件:
- CREATE USER IF NOT EXISTS 'admin'@'%'
- IDENTIFIED WITH mysql_native_password BY 'admin123';
- ALTER USER 'admin'@'%' IDENTIFIED WITH 'caching_sha2_password' BY 'admin123';
复制代码
使用 'caching_sha2_password' 插件需要MySQL服务器开启SSL支持,否则客户端可能无法连接。如果你的MySQL服务器配置没有启用SSL,可能需要更改服务器配置或者继续使用 'sha256_password' 插件。 |
|