2012-05-27 14 views
8

Actualmente estoy usando Amazon EC2 (AMI linux) + MySQL, y ahora estoy trabajando en C# cosas.Problemas sobre C# conectando a EC2

escribí código como este:

 MySqlConnection DBConn = new MySqlConnection(); 
     DBConn.ConnectionString = "Server=ec2-**.compute-1.amazonaws.com;Database=****;uid=root;password=****;port=3306;charset=utf8"; 

     try 
     { 
      DBConn.Open(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("connecting fail"); 
     } 

Pero por alguna razón, cuando corro esto, se genera un error de 'conexión falla'.

Busqué en Google y la cuenta de que necesito para ajustar "conceder todos los privilegios *. * A root @ 'localhost'"

Por lo tanto, lo hice!

Pero todavía no funciona. Creo que seguí todos los pasos.

  • estoy trabajando en Visual Studio 2008 & Windows7 en el momento.

  • I Comprobó el error y parece que se trata de un error de tiempo de espera. Creo que es una cosa de firewall, pero no sé lo que debería hacer. Configuré mi grupo de seguridad para que los puertos TCP se abran a todos (incluido Mysql). Todavía no está funcionando. ¿No es la manera de resolver este problema;? ( Sin embargo, lo que me da curiosidad es que pude acceder a la base de datos utilizando MySQL Workbench antes de que yo puse el grupo de seguridad

Lo sentimos eso. Soy totalmente nuevo en EC2.

+1

Compruebe el firewall. –

+2

Podría volver a tomar la captura de prueba, permita que la excepción active y pegue el error y apile la traza – reach4thelasers

+0

Como se indicó, revise el firewall nd (ya que esto es ec2) asegúrese de que el puerto esté abierto en su grupo de seguridad también. – Joe

Respuesta

0

1) Debe abrir el puerto MySQL en su servidor a través de la consola aws. puede hacerlo haciendo clic en ir a la sección Grupos de seguridad de DB en RDS, y simplemente ponga CIDR: 0.0.0.0/0 para probar que está conectado y que el estado está autorizado. Luego puede reorganizar las reglas para especificar qué IP se puede conectar.
2) Debe usar el conector MySQL para conectar MySQL desde C#.
Mysql Connector Link
3) Su cadena de conexión debe ser como:

Server=yourdburl; 
Database=yourdb; 
Uid=yourdbuser; 
Pwd=yourdbuserpassword; 
charSet=utf8; 

tercero uno le parece derecho, usted debe comprobar 1ª y 2ª casos.

0

Debe activar VPC Flow Logs en ese ENI para ver si la conexión está siendo aceptada en esa interfaz, o rechazada. Existe una alta probabilidad de que sus grupos de seguridad no sean correctos, como mencionó Gandil.