Frage

Ich bin Zugriff auf eine MySQL-Datenbank innerhalb eines C ++ App MySQL C ++ Connector. Es funktioniert gut, wenn ich die C ++ und die MySQL auf demselben Computer haben. Also, so etwas wie der folgende Code funktioniert gut:

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");

Allerdings kann ich nicht scheinen, auf die Datenbank zuzugreifen, wenn es auf einem anderen Rechner befindet. So etwas wie folgt aus:

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

Ist es einfach nicht möglich, oder mache ich etwas falsch?

War es hilfreich?

Lösung

Haben Sie versehentlich Setup Benutzer, so dass sie nur Ihre DB vom lokalen Rechner zugreifen kann?

Haben Sie tun

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

oder

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

Wenn Sie das erste tun dann werden Sie nicht in der Lage sein, von einer anderen Maschine anmelden.

Haben Sie auch die Privilegien gewähren richtig?

Sehen Sie die MySQL docs für eine in der Tiefe Erklärung, wie diese richtig zu tun

Andere Tipps

Ich habe dies durch einen VPN getan, so gehe davon aus ich es möglich ist. Sind Sie die richtige Port?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top