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
求问为什么报错?解决方案是什么?
首先,检测你的代码的数据库连接的URL、账号、密码是否都匹配。
其次,检测远程数据库配置是否允许远程连接,最简单的测试方法就是在本地用数据库客户端连接试试。
如果确实无法远程连接,则登陆远程服务器,连接数据库后,修改mysql数据库表的user表:
use mysql;update user set host='%' where user='root';flush privileges;