我需要通过asp.net连接到MYSQL数据库。我正在使用MySQL Connector与数据库建立连接但在执行此操作时遇到此错误:
Authentication with old password no longer supported, use 4.1 style passwords.
答案 0 :(得分:5)
从MySQL 4.1及更高版本开始,他们使用的新协议与早期版本不兼容。这就是为什么当您将服务器从早期版本升级到4.1或更高版本时,您会收到身份验证错误消息。
如果需要在4.1版之前和之后使用两个客户端连接到数据库,则必须存储两个密码。一种是古老的方式,一种是新的方式。
您可以使用以下方式将用户密码设置为新方式:
SET PASSWORD for <username> = PASSWORD('new password')
SET PASSWORD FOR 'steve'@'10.15.2.67' = PASSWORD('my secure password');
如果需要,您还可以使用以下方法将密码设置为旧方式:
SET PASSWORD for <username> = OLD_PASSWORD('new password')
SET PASSWORD FOR 'steve'@'10.15.2.67' = OLD_PASSWORD('my secure password');
MySQL manual中有一个很棒的页面,详细介绍了这个过程
如果比4.1更新,服务器实际上仍然可以使用旧密码方法,但不推荐使用。
为此,您可以使用--old-passwords选项启动服务器。
因此,服务器已更新,您正在使用旧客户端 - 或者您已更新客户端(现在使用新密码系统)并连接到4.1以下的服务器