0

我正在尝试使用新版本的 MariaDB 禁用没有密码的 root 登录。

通常,我将 root 的身份验证插件设置为“”。但它不再工作了

ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

我尝试使用ALTER USER但我只成功将插件设置为unix_socketmysql_native_password

我该如何解决?

非常感谢。

问候。

4

1 回答 1

-1

如果您查看show create userforroot您会看到两者都mysql_native_password作为unix_socket插件类型存在。

unix_socket将允许root unix 用户在没有密码的情况下登录。不安全?不是真的,他们已经可以操作和访问数据库文件。

mysql_native_password在那里,但那里的密码无效。不存在可用的密码,因此默认情况下您无法使用此插件登录。在那里,如果您真的需要,您可以设置密码(使用SET PASSWORD)以从非 root Unix 用户登录到 root 用户。由于存在另一种访问机制,这本质上使其不那么安全。

于 2021-10-30T23:44:55.913 回答