Mariadb 老用户还在吗?
我在我的MariaDB服务器上发现了一个奇怪的现象(版本10.1.26-MariaDB-0+deb9u1) 很久以前我有一个用户XYZ,这个用户可能在某个时候被删除了。但是,我尝试使用此用户登录,并收到以下错误消息: mysqli_real_connect():(HY000/1275):服务器正在运行 --安全身份验证模式,但“XYZ”@“localhost”具有旧格式的密码;请将密码更改为新格式 为了确定,我尝试使用一个不存在的用户登录。例如,我尝试以NOTEXISTING登录,只是为了验证错误消息是否确实不同 mysqli_real_connect():(HY000/1045):拒绝用户访问 'NOTEXISTING'@'localhost'(使用密码:YES) 现在的问题是,旧用户信息存储在哪里 mysql数据库中不存在该用户:Mariadb 老用户还在吗?,mariadb,Mariadb,我在我的MariaDB服务器上发现了一个奇怪的现象(版本10.1.26-MariaDB-0+deb9u1) 很久以前我有一个用户XYZ,这个用户可能在某个时候被删除了。但是,我尝试使用此用户登录,并收到以下错误消息: mysqli_real_connect():(HY000/1275):服务器正在运行 --安全身份验证模式,但“XYZ”@“localhost”具有旧格式的密码;请将密码更改为新格式 为了确定,我尝试使用一个不存在的用户登录。例如,我尝试以NOTEXISTING登录,只是为了验证错
select * from mysql.user where user = 'XYZ';
=>空结果
grep -r XYZ /path_to_mysql_database_dir/mysql/
=>没有
我还尝试了“刷新权限”来重新加载用户表
你知道用户信息存储在哪里吗
更新
在尝试了各种方法,甚至在一个全新安装的系统上进行了测试之后,我得出结论,这一定是某种错误,因此我打开了一个错误报告:。欢迎任何其他想法。明文密码不存储在任何地方
从用户选择用户、主机、密码
| pm_demo | localhost | FFC3F585 |
| dist | localhost | A8900DDB |
| ronly | localhost | 5208517A |
| spent | localhost | 26B08F08 |
| test | 1.2.3.4 | A40C6DCC |
该“密码”实际上是明文密码的加密版本。这是“旧格式”,不太安全。新密码看起来更像
*A5280BD3F8C6BCC6537FCC3E113D794DD53534CC
还有其他身份验证机制。(我不知道您在身份验证的发展过程中处于何处。)
开发人员已经确认(我认为是错误的)错误消息是基于用户表哈希的故意行为
是的,我都知道。但是在user
表中,正如我提到的,没有名为“XYZ”的用户,因此“show grants”以及“select…from user”不会返回任何内容。我已经验证了消息来自插件mysql_native_password(使用“默认身份验证插件”),它应该查询用户表。我得出结论,这一定是MariaDB中的一个错误,因为当我在用户表中更改任何内容时,错误的错误消息消失了(即删除或添加任何用户,或更改特定用户名)。如果我这样做,当我尝试以这个不存在的用户身份登录时,会收到正常的“拒绝访问”消息。@DanielMarschall-请参阅FLUSH PRIVILEGES;
我不想听起来有失礼貌,但我做到了所有这一切,它也写在问题中
SELECT * FROM user WHERE user = 'xyz'\G
*************************** 1. row ***************************
Host: localhost
User: xyz
Password: *6D800EA40C6DCC75BFF67DAB58D5D49FC5F8E568
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
...
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string:
password_expired: N
1 row in set (0.00 sec)
SHOW GRANTS FOR xyz@localhost;
+------------------------------------------------------------------------------------------------------------+
| Grants for xyz@localhost |
+------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'xyz'@'localhost' IDENTIFIED BY PASSWORD '*6D800EA40C6DCC75BFF67DAB58D5D49FC5F8E568' |
| GRANT ALL PRIVILEGES ON `xyz`.* TO 'xyz'@'localhost' |
+------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)