asp.net - 无法连接到 Asp.Net 中的远程 MySql 服务器

标签 asp.net mysql web-applications

我需要通过asp.net 连接到MYSQL 数据库。我正在使用 MySQL Connector 与数据库建立连接,但在执行此操作时出现此错误:enter image description here

Authentication with old password no longer supported, use 4.1 style passwords.

最佳答案

从 MySQL 4.1 及更高版本开始,它们使用与早期版本不兼容的新协议(protocol)。这就是为什么当您将服务器从早期版本升级到 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 的服务器

关于asp.net - 无法连接到 Asp.Net 中的远程 MySql 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15295541/

相关文章:

c# - 在基于 .Net 4.6 的 Web Api 2 中使用 System.IdentityModel.Tokens.Jwt 5.0.0.127 的异常

ios - Apple 的指南,关于网络通信、加密数据

asp.net - 在某些情况下.NET找不到我在经典asp中创建的cookie

mysql - Vala:MySQL程序未编译

mysql - 将数据加载到mysql LOAD DATA INFILE 困难

mysql - 提高该查询的效率: Update With Joins and Subqueries

C# Web 应用程序 - 按下的按钮外观

javascript - 有没有办法在IE中的输入框中获取所选文本的偏移量?

c# - WCF - 禁用客户端应用程序的浏览器身份验证

数组上的 ASP.NET MVC Range 属性