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_string
和Password
字段。现在的问题是,这是故意的还是仅仅是 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` 字段的主要内容,如果未能解决你的问题,请参考以下文章
mysql重建某个用户账号(ERROR 1396 (HY000): Operation CREATE USER failed)