如何在macOS的MariaDB 10.4中设置root密码?

时间:2020-01-28 03:46:39

标签: mysql mariadb

我刚刚在macOS Mojave上安装了MariaDB 10.4,现在我需要为root用户设置密码。我阅读了其他有关SO的问题,我可以通过

sudo mysql -u root
MariaDB [mysql]> UPDATE mysql.user SET authentication_string = PASSOWRD('mypassword') WHERE user = 'root';

但这会引发错误

ERROR 1348 (HY000): Column 'authentication_string' is not updatable

如果我尝试

UPDATE mysql.user SET Password=PASSWORD('mypassword') WHERE User='root';

引发错误

ERROR 1348 (HY000): Column 'Password' is not updatable

set password for 'root'@'localhost' = 'mypassword';

抛出

ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number

还有这个

alter user 'root'@'localhost' identified with mysql_native_password by 'mypassword';

抛出

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version...

我该如何解决?

3 个答案:

答案 0 :(得分:5)

自MariaDB 10.4 mysql.global_priv以来,已替换mysql.user。现在是一个视图,无法再对其进行更新。

由于您已经以root用户身份登录,因此请保持简单并使用以下命令更改密码:

SET PASSWORD=PASSWORD('mypassword')

由于无法再通过套接字对用户进行身份验证,因此身份验证方法将自动设置为mysql_native_password。

答案 1 :(得分:0)

对于mysql用户:

SET password for 'mysql'@'localhost' = password('mypassword');

答案 2 :(得分:0)

只需在此处添加一些内容-有时您必须运行flush privileges;才能尝试设置密码。 所以命令将是:

flush privileges;
SET PASSWORD FOR root@localhost = PASSWORD("some_password");
flush privileges;