在linux命令行可以连接,类似:
mysql - h xxxxx.com -u root -p
mysql -h 172.29.207.112 -u root -p
但是在c++代码中,报错:
CDK Error: Connection attempt to the server was aborted. Timeout of 10000 milliseconds was exceeded
我的c++连接数据库代码如下:
try {
Session sess(SessionOption::USER, "root",
SessionOption::PWD, "123456",
//PorlaDB mysql 私网ip,连不上
SessionOption::HOST,"172.29.207.112",
//使用RDS数据库内网地址,同样连接不上,命令行却可以
//SessionOption::HOST,"rm-bp1qp1x588kzb49rf.mysql.rds.aliyuncs.com",
SessionOption::PORT, 33060,
SessionOption::DB, "demo");
auto result = sess.sql("select * from person").execute();
for (auto row : result.fetchAll()) {
std::cout << row[0] << " " << row[1] << "\n";
}
} catch (const std::exception& e) {
std::cerr << e.what() << '\n';
}
我的ECS和RDS或者PorlaDB使用同一个专有网络,同可用区,同交换机,白名单,安全组也反复尝试,大概率,问题出在数据库本身是否支持msyql c++连接器或者我的代码有错误,这个困扰使我筋疲力尽
####问题1:rds 是否支持mysql/connect8.0 c++连接器? ####问题2:关于mysql/connect8.0 c++ 代码有错误?该如何写?网络
目前RDS没有针对mysql/connect8.0 C++连接器https://dev.mysql.com/downloads/connector/cpp/ 的限制,如果连接失败,建议参考 https://help.aliyun.com/document_detail/40564.html 中的抓包方法通过网络抓包分析一下请求是否正常连接到了数据库对应的服务端口。谢谢!
经反复尝试,mysql/connect8 c++ 连接器 连接RDS/porladb失败 经反复尝试,mysql/connect8 c++ 连接器 连接RDS/porladb失败 经反复尝试,mysql/connect8 c++ 连接器 连接RDS/porladb失败
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。