Problemas para conectar en VB con cierta cadena de conexion
Tengo una aplicacion hecha en VB que se conecta a un servidor MySQL, si uso esta cadena de conexion:
.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=prueba;UID=luciano;OPTION=3"
puedo entrar sin problema, pero si uso esta cadena (con la finalidad de usar el programa en red)
.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=Server2004; DATABASE=prueba;UID=luciano;PWD=mfaiw4k8yinh; OPTION=3"
entonces me aparece el error:
"Access denied for user: [email protected]. (Using password yes)"
Me fijo en el servidor de SQL y veo que ese usuario no esta creado, cuando quiero crearlo usando el MySQL control Center, este no me lo crea y me tira este error: "[Root] ERROR 1141: There is no such grant defined for user 'luciano' on host 'Root'"
¿Que estoy haciendo mal?. En la parte de la cadena donde se ingresa el server, se pone el nombre de la pc o el nombre del servidor que figura en la consola?
.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=prueba;UID=luciano;OPTION=3"
puedo entrar sin problema, pero si uso esta cadena (con la finalidad de usar el programa en red)
.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=Server2004; DATABASE=prueba;UID=luciano;PWD=mfaiw4k8yinh; OPTION=3"
entonces me aparece el error:
"Access denied for user: [email protected]. (Using password yes)"
Me fijo en el servidor de SQL y veo que ese usuario no esta creado, cuando quiero crearlo usando el MySQL control Center, este no me lo crea y me tira este error: "[Root] ERROR 1141: There is no such grant defined for user 'luciano' on host 'Root'"
¿Que estoy haciendo mal?. En la parte de la cadena donde se ingresa el server, se pone el nombre de la pc o el nombre del servidor que figura en la consola?
No es la cadena de conexi贸n, es la cuenta que no tiene asignado permiso para accesar desde el host Root
Esto sucede porque no has agregado permisos para el host Root.
Para que puedas tener acceso desde cualquier parte de la red tienes que agregar una cuenta en la tabla 'user' del base de datos mysq del siguiente modo:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON prueba.* TO 'luciano'@'%'
-> IDENTIFIED BY 'mfaiw4k8yinh';
Lo anterior le da permisos a todos los hosts con el '%', la cuenta solo tiene derecho a las operaciones basicas de todas las tablas en la base de datos 'prueba'.
Esto sucede porque no has agregado permisos para el host Root.
Para que puedas tener acceso desde cualquier parte de la red tienes que agregar una cuenta en la tabla 'user' del base de datos mysq del siguiente modo:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON prueba.* TO 'luciano'@'%'
-> IDENTIFIED BY 'mfaiw4k8yinh';
Lo anterior le da permisos a todos los hosts con el '%', la cuenta solo tiene derecho a las operaciones basicas de todas las tablas en la base de datos 'prueba'.
La sentecia correcta seria la siguiente:
GRANT SELECT, INSERT, UPDATE, DELETE ON prueba.* TO luciano@'192.168.0.1' identified by 'TU_PASS';
Para verificar ejecuta lo siguiente:
SHOW GRANTS FOR luciano@'192.168.0.1' ;
GRANT SELECT, INSERT, UPDATE, DELETE ON prueba.* TO luciano@'192.168.0.1' identified by 'TU_PASS';
Para verificar ejecuta lo siguiente:
SHOW GRANTS FOR luciano@'192.168.0.1' ;
Hola yo tengo el mismo problema que t霉 nada m脿s que yo trato de accesar al servidor de mysql desde acces usando tambien un odbc de mysql y me marca el mismo error. Tengo entendido que el problema es por que en la bd mysql del servidor se debe agregar 1 registro en host y en db con la informacion del equipo y usuario de donde quieres tener acceso al servidor pero no he podido configurarlo si ya tienes la respuesta me ayudaria mucho que la enviaras. gracias
