您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

无法使用旧的身份验证连接到MySQL 4.1+

无法使用旧的身份验证连接到MySQL 4.1+

编辑:仅当您在控制MysqL服务器时,这才适用…如果您不看看Mysql密码哈希方法old vs new

首先用SQL查询检查

SHOW VARIABLES LIKE 'old_passwords'

(在MySQL命令行客户端,HeidiSQL或任何您喜欢的前端中)认情况下是否将服务器设置为使用旧密码架构。如果返回,则old_passwords,Off您恰好在user表中有旧密码条目。MysqL服务器将对这些帐户使用旧的身份验证例程。您只需为该帐户设置一个新密码,就会使用新例程。

您可以查看MysqL.user表格(使用有权访问该表格的帐户)来检查将使用哪个例程

SELECT `User`, `Host`, Length(`Password`) FROM MysqL.user

对于使用旧密码的帐户,这将返回 16 ;对于使用新密码的帐户,它将返回 41 (对于完全没有密码的帐户,将返回0;您可能还需要注意这些)。 使用MysqL前端的用户管理工具(如果有)或

SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;

(替换UserHost使用您从上一个查询中获得的值。)然后再次检查密码的长度。现在应该是 41, 并且您的客户端(例如MysqLnd)应该能够连接到服务器。

另请参见MysqL文档: http://dev.mysql.com/doc/refman/5.0/zh-CN/old- client.html http://dev.mysql.com/doc/refman/5.0/zh-CN/password -hashing.html * http://dev.mysql.com/doc/refman/5.0/en/set-password.html

MySQL 2022/1/1 18:13:35 有754人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶