T_Sammy 2019-01-30 11:36 采纳率: 0%
浏览 705

mysql_real_connect连不上远程数据库

bool CMySql::connectDB(string host, string user, string pwd, string db_name)
{
    // 函数mysql_real_connect建立一个数据库连接  
    if (!mysql_real_connect(&mysql, host.c_str(), user.c_str(), pwd.c_str(), db_name.c_str(), 3306, NULL, 0))
    {
        cout << "Connect Error,line: " << __LINE__ << endl;
        return false;
    }
    return true;
}

最后linux报错:Connect Error,line: 40

mysql版本:mysql Ver 14.14 Distrib 5.5.62, for debian-linux-gnu (x86_64) using readline 6.3

求问为什么报错?解决方案是什么?

  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2019-01-30 13:47
    关注

    首先,检测你的代码的数据库连接的URL、账号、密码是否都匹配。
    其次,检测远程数据库配置是否允许远程连接,最简单的测试方法就是在本地用数据库客户端连接试试。
    如果确实无法远程连接,则登陆远程服务器,连接数据库后,修改mysql数据库表的user表:

    use mysql;update user set host='%' where user='root';flush privileges;
    
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大