È possibile l'accesso a MySQL C ++ Connector al database remoto?
-
05-07-2019 - |
Domanda
Sto accedendo a un database MySQL all'interno di un'app C ++ usando MySQL C ++ Connector. Funziona bene se ho C ++ e MySQL sulla stessa macchina. Quindi, qualcosa come il seguente codice funziona bene:
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");
Tuttavia, non riesco ad accedere al database se si trova su un'altra macchina. Quindi, qualcosa del genere:
sql::Connection *_con;
sql::mysql::MySQL_Driver *_driver;
_driver = sql::mysql::get_mysql_driver_instance();
_con = _driver->connect("tcp://somesite.com:3306", "user", "password");
Non è possibile o sto facendo qualcosa di sbagliato?
Soluzione
Hai configurato accidentalmente i tuoi utenti in modo che possano accedere al tuo DB solo dal computer locale?
Hai fatto
create user 'user'@'127.0.0.1' ...
o
create user 'user'@'%' ....
Se lo hai fatto per primo, non sarai in grado di accedere da un altro computer.
Hai concesso anche i privilegi correttamente?
Vedi i docs di MySQL per ulteriori informazioni spiegazione approfondita su come farlo correttamente
Altri suggerimenti
L'ho fatto tramite una VPN, quindi presumo sia possibile. Stai usando la porta corretta?