MariaDB 在 `mysql.user` 表中同时具有 `authentication_string` 和 `Password` 字段

Posted

技术标签:

【中文标题】MariaDB 在 `mysql.user` 表中同时具有 `authentication_string` 和 `Password` 字段【英文标题】:MariaDB has both `authentication_string` and `Password` field in the `mysql.user` table 【发布时间】:2017-07-16 21:23:02 【问题描述】:

我安装了 MariaDB,它是 Arch (Antergos) Linux 中 mysql 的默认包。我还做了一个mysql_secure_installation 并更改了root 密码。之后,我安装了 phpMyAdmin 并尝试登录仪表板,但无法使用 root 帐户登录,因为明显的“密码错误”感觉很奇怪,因为我肯定知道密码是什么。多次尝试失败。过了一会儿,我受够了,并尝试使用--skip-grant-tables 方法更改密码。现在,由于我的 MySQL 版本是最新的,而不是 Password 字段,您现在拥有 authentication_string。所以我将authentication_string 更改为新的PASSWORD('my-new-password'),然后尝试再次登录,但这也没有用。然后我再次使用相同的方法,但这次我更改了Password 字段而不是authentication_string,这一次成功了!我对此感到有点怀疑,所以我登录到mysql 数据库并检查user 表,令我惊讶的是authentication_stringPassword 字段。现在的问题是,这是故意的还是仅仅是 MariaDB 的错误?

【问题讨论】:

mariadb.com/kb/en/mariadb/pam-authentication-plugin 和/或 dev.mysql.com/doc/refman/5.6/en/pluggable-authentication.html ? 【参考方案1】:

密码列已弃用,MariaDB 正在删除其 10.4 服务器版本中的密码列:https://jira.mariadb.org/browse/MDEV-12715

【讨论】:

以上是关于MariaDB 在 `mysql.user` 表中同时具有 `authentication_string` 和 `Password` 字段的主要内容,如果未能解决你的问题,请参考以下文章

mariadb 允许远程访问

MariaDB安装

mysql重建某个用户账号(ERROR 1396 (HY000): Operation CREATE USER failed)

mariadb的安装apache安装

mysql 相关操作- mariadb修改用户host的两种方式

mysql,user表中各字段的含义