我刚刚在 macOS Mojave 上安装了 MariaDB 10.4,现在需要为 root
用户设置密码。我读到其他问题,我可以通过实现这一目标
sudo mysql -u root
MariaDB [mysql]> UPDATE mysql.user SET authentication_string = PASSOWRD('mypassword') WHERE user = 'root';
但这会引发错误
错误 1348 (HY000):列“authentication_string”不可更新
如果我尝试
UPDATE mysql.user SET Password=PASSWORD('mypassword') WHERE User='root';
引发错误
错误 1348 (HY000):“密码”列不可更新
这个
为 'root'@'localhost' 设置密码 = 'mypassword';
抛出
错误 1372 (HY000):密码哈希值应为 41 位十六进制数
还有这个
通过“mypassword”更改使用 mysql_native_password 标识的用户“root”@“localhost”;
抛出
错误 1064 (42000):您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册...
我该如何解决这个问题?
最佳答案
自 MariaDB 10.4 起,mysql.global_priv
已取代 mysql.user
。后一个现在是一个 View ,无法再更新。
由于您已经以 root 身份登录,因此请保持简单并更改密码:
SET PASSWORD=PASSWORD('mypassword')
由于用户无法再通过套接字进行身份验证,因此身份验证方法将自动设置为 mysql_native_password。
关于mysql - 如何在 macOS 上的 MariaDB 10.4 中设置 root 密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59941858/