通过已弃用的身份验证解决 MySQL 连接问题
当尝试连接到 bluesql.net 等平台上托管的 MySQL 数据库时,用户可能会遇到“连接错误 (2000) mysqlnd 无法使用旧身份验证连接到 MySQL 4.1”错误。出现此错误的原因是较旧的 MySQL 版本和较新的版本使用的身份验证协议之间存在差异,这些协议同时支持新旧密码模式。
要解决此问题,必须确定服务器是否正常默认情况下配置为使用旧密码架构。这可以通过执行 SQL 查询“SHOW VARIABLES LIKE 'old_passwords';”来验证。从命令行或使用基于 GUI 的 MySQL 管理工具。如果查询返回“old_passwords,Off”,则现有用户帐户可能会使用旧密码。
可以通过检查“mysql.user”表来确认将使用哪个身份验证例程。使用旧密码的帐户的密码长度为“16”,而使用新密码的帐户的密码长度为“41”。要设置新密码,请使用“SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');”查询,将“User”和“Host”替换为之前查询中获得的值。
密码更新后,执行“FLUSH Privileges;”询问。再次使用相同的“mysql.user”表查询验证密码长度;现在应该是“41”。此更改将允许使用 mysqlnd 的客户端成功连接到 MySQL 服务器。
有关更多信息,请参阅以下链接中的官方 MySQL 文档:
以上是如何修复 MySQL'mysqlnd 无法使用旧身份验证连接到 MySQL 4.1”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!