MySQL C ++コネクタはリモートデータベースにアクセスできますか?
-
05-07-2019 - |
質問
MySQL C ++コネクタを使用して、C ++アプリ内のMySQLデータベースにアクセスしています。同じマシン上にC ++とMySQLがあれば正常に動作します。したがって、次のコードのようなものは正常に動作します。
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");
ただし、データベースが別のマシンにある場合、データベースにアクセスできないようです。したがって、次のようなものです:
sql::Connection *_con;
sql::mysql::MySQL_Driver *_driver;
_driver = sql::mysql::get_mysql_driver_instance();
_con = _driver->connect("tcp://somesite.com:3306", "user", "password");
それは不可能なのですか、それとも何か間違っているのですか?
解決
ローカルマシンからのみDBにアクセスできるようにユーザーを誤って設定しましたか?
やった
create user 'user'@'127.0.0.1' ...
または
create user 'user'@'%' ....
最初に実行した場合、別のマシンからログオンすることはできません。
権限も正しく付与しましたか?
MySQL ドキュメントを参照してくださいこれを正しく行う方法の詳細な説明
他のヒント
VPNを介してこれを行ったため、それが可能であると想定しています。正しいポートを使用していますか?
所属していません StackOverflow