开发者社区 > 弹性计算 > 云服务器ECS > 正文

经反复尝试,mysql/connect8 c++ 连接器 连接RDS/porladb失败

已解决

在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++ 代码有错误?该如何写?网络

展开
收起
松鼠果子 2022-06-16 18:12:00 3640 0
2 条回答
写回答
取消 提交回答
  • 推荐回答

    目前RDS没有针对mysql/connect8.0 C++连接器https://dev.mysql.com/downloads/connector/cpp/ 的限制,如果连接失败,建议参考 https://help.aliyun.com/document_detail/40564.html 中的抓包方法通过网络抓包分析一下请求是否正常连接到了数据库对应的服务端口。谢谢!

    2022-12-29 09:31:27
    赞同 展开评论 打赏
  • 经反复尝试,mysql/connect8 c++ 连接器 连接RDS/porladb失败 经反复尝试,mysql/connect8 c++ 连接器 连接RDS/porladb失败 经反复尝试,mysql/connect8 c++ 连接器 连接RDS/porladb失败

    2022-06-16 23:24:46
    赞同 展开评论 打赏

云服务器ECS是一种安全可靠、弹性可伸缩的IaaS级云计算服务。在这里你可以获取最新的ECS产品资讯、最前沿的技术交流以及优惠活动等信息,加速自己的技术成长。

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像