Amazon Web Services 和 mysql c++ 连接器无法从 EC2 instace 连接到 RDS 实
Amazon web services and mysql c++ connector cannot connect to RDS instance from EC2 instace
我正在用 c++ 编写一个服务器应用程序,该应用程序将从 EC2 实例连接到 RDS 实例并执行普通数据库工作。我已经在软件上工作了几个星期,今天我达到了需要连接到数据库并与一些数据交互的步骤。每次我收到一个异常说Unknown MySQL server host
(代码 2005),我似乎无法让它连接,但奇怪的是我可以使用相同的 url 和机器在 ssh 中使用 mysql 命令,它工作得很好。我的代码如下:
dbDriverPtr driver(get_driver_instance());
LOG(trace) << "Starting " << driver->getName();
dbConnectionPtr conn(driver->connect(sql::SQLString("tcp://mydb.abcdef.us-west-2.rds.amazonaws.com:3306"), sql::SQLString("user"), sql::SQLString("password")));
LOG(trace) << "SQL connected to Auth Server";
conn->setSchema("Auth");
dbStatementPtr stmt(conn->createStatement());
dbResultPtr res(stmt->executeQuery("select id,displayname from users order by id desc"));
while (res->next())
{
LOG(trace) << res->getString("id") << ":" << res->getString("displayname");
}
请注意,指针类型只是auto_ptr类型定义。
我已经尝试了 tcp、端口和将 url 解析为 ip(这真的不起作用)的变体,唯一的一致性是失败。我在这里错过了什么?
我应该注意,我使用的是默认的 ubuntu 14.4 64 位服务器实例。
更新任何人
。事实证明,这与 aws 无关,而是我的构建配置。我静态链接了提升库并动态链接了其他库。不知何故,这搞砸了我的dns东西,所以getaddrinfo失败了。
相关文章:
- 如何将 EC2 实例用作 API 服务器?当前正在使用C++ lambda
- Amazon EC2的CrossCompile C 二进制
- 何时将类的引用分配给其父类的 instace
- Amazon Web Services 和 mysql c++ 连接器无法从 EC2 instace 连接到 RDS 实
- 如何在 Amazon EC2(运行 Ubuntu Lucid)上设置 Nginx,并针对 FastCGI/FastCGI
- 如何在EC2上对OpenGL进行单元测试
- c++ pthread多线程2倍Intel Xeon X5570,四核cpu在亚马逊EC2 HPC ubuntu实例
- 在Amazon EC2上安装测试应用程序
- 在Amazon EC2上的socket.h中的编译器错误
- ZeroMQ服务器/客户端与AWS EC2