0

我正在使用 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");

这是不可能的还是我做错了什么?

4

2 回答 2

3

您是否不小心设置了用户,使他们只能从本地计算机访问您的数据库?

你有没有

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

或者

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

如果您做了第一个,那么您将无法从其他计算机登录。

您是否也正确授予了权限?

有关如何正确执行此操作的更深入说明,请参阅 MySQL文档

于 2009-09-11T15:41:22.550 回答
1

我已经通过 VPN 做到了这一点,所以我认为这是可能的。您是否使用正确的端口?

于 2009-09-11T15:35:33.560 回答