authentication - 在 Mysql 5.7 中更新用户密码

标签 authentication root mysql-5.7

我编写了一个安装脚本来使用此 SQL 命令更改 root 密码:

UPDATE user SET password='*C563415623144561...' WHERE user='root';

这不适用于 Mysql 5.7:
http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-6.html#mysqld-5-7-6-account-management

我的问题是:如何用另一个兼容 5.6 和 5.7 版本的 Mysql 的命令更改此命令?我想用散列字符串而不是清晰的密码更新密码。

最佳答案

从 mysql 5.7 开始,用户表中不再有密码字段。现在称为 authentication_string。您可以像这样更改或设置密码:

set password for 'jeff'@'localhost' = PASSWORD('mypass'); // this automatically hashes the password

如果您想使用您的查询,只需将 password 更改为 authentication_string ,它就会起作用。
UPDATE user SET authentication_string='*C563415623144561...' WHERE user='root@localhost';

希望这有帮助。

关于authentication - 在 Mysql 5.7 中更新用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32208000/

相关文章:

Python POST 请求未经过登录页面

PYTHON SSL——两种建立ssl连接方式的区别

mysql - Rails 和 MySQL -- 设置 root 密码的困境

带别名的 MySQL SELECT 查询在 MySQL 5.7.28 中不起作用

MySQL - 唯一确认的电子邮件

mysql - MySQL 5.7中MyISAM和InnoDB存储引擎之间的当前差异是什么?

asp.net - 带有 .NET Web API : Authentication with AD 的 AngularJS

azure - 无法在逻辑应用程序中生成Oauth授权代码

android-studio - Android Studio DDMS 无法在模拟器手机中打开/data 文件夹

php - 如何在本地 PHP 开发设置中设置 DOCUMENT_ROOT 和站点根目录?