質問

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を介してこれを行ったため、それが可能であると想定しています。正しいポートを使用していますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top