从c#连接到Amazon EC2 MySQL出错

本文关键字:EC2 MySQL 出错 Amazon 连接 | 更新日期: 2023-09-27 18:11:53

我有一个AWS EC2实例正在运行。我已经尝试在c#中像这样连接到我的MySQL

MySqlConnection l_DBConn = new MySqlConnection();
l_DBConn.ConnectionString = "Server=my-ec2.compute-1.amazonaws.com;Port=3306;Database=mydatabase;uid=root;password=mypassword;port=3306;charset=utf8"
MySqlCommand command = l_DBConn.CreateCommand();
command.CommandText = "select * from users";
MySqlDataReader Reader = command.ExecuteReader();

当我运行最后一行时收到的错误是"连接必须是有效的并且打开的。"我仍然可以连接到我的实例使用Filezilla,Putty和MySQL工作台也(与SSH)。我在我的代码中使用MySql.Data.MySqlClient。有人对此有什么想法吗?这是因为我的实例不允许远程访问还是我的连接字符串有问题?

提前谢谢你,韦恩。

编辑:这个问题是通过添加l_DBConn.Open()并使用RANT ALL PRIVILEGES ON将我的IP添加到服务器来解决的。到root@'主机名',由'root-password'标识。谢谢!

从c#连接到Amazon EC2 MySQL出错

在执行读取器之前尝试调用l_DBConn.open()。此错误暗示连接未打开,因为您没有显式打开它

一些想法:

  • 确保您可以首先连接到本地数据库。
  • Sql Server设置允许混合身份验证
  • 你是否在EC2防火墙和windows防火墙中打开了3306端口?