Pregunta

Estoy accediendo a una base de datos MySQL dentro de una aplicación C ++ usando MySQL C ++ Connector. Funciona bien si tengo el C ++ y el MySQL en la misma máquina. Entonces, algo como el siguiente código funciona bien:

sql::Connection             *_con;
sql::mysql::MySQL_Driver    *_driver;
_driver = sql::mysql::get_mysql_driver_instance();
_con = _driver->connect("tcp://127.0.0.1:3306", "user", "password");

Sin embargo, parece que no puedo acceder a la base de datos si está ubicada en otra máquina. Entonces, algo como esto:

sql::Connection             *_con;
sql::mysql::MySQL_Driver    *_driver;
_driver = sql::mysql::get_mysql_driver_instance();
_con = _driver->connect("tcp://somesite.com:3306", "user", "password");

¿No es posible o estoy haciendo algo mal?

¿Fue útil?

Solución

¿Configuró accidentalmente a sus usuarios para que solo puedan acceder a su base de datos desde la máquina local?

Lo hiciste

create user 'user'@'127.0.0.1' ...

o

create user 'user'@'%' ....

Si hizo el primero, no podrá iniciar sesión desde una máquina diferente.

¿También otorgó los privilegios correctamente?

Consulte MySQL docs para obtener más información. Explicación profunda sobre cómo hacer esto correctamente

Otros consejos

He hecho esto a través de una VPN, así que asumo que es posible. ¿Está utilizando el puerto correcto?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top