出现错误如下:
Host ‘192.168.196.130’ is not allowed to connect to this MySQL server
初步探查的原因是要在msyql的设置文件里面修改远程ip访问的权限。
那么,解决这个问题就很简单了,经过查询,做出如下处理即可:
mysql>use mysql;
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host','user' from user where user='root';
mysql>quit
贴一段我成功的代码:
int main()
{
MysqlOp mysqlOp;
if (!mysqlOp.ConnectSql("192.168.196.130", 3306, "root", "123456", NULL))
{
printf("connect mysql error!---%s\n", mysqlOp.GetLastErrorPrompt());
return 0;
}
const char* query_statment = "show databases";
std::vector<std::vector<std::string>> res;
if (mysqlOp.QuerySql(query_statment, res))
{
decltype(res.begin()) it = res.begin();
for (; it != res.end(); ++it)
{
std::vector<std::string> oneline = *it;
decltype(oneline.begin()) fieldString = oneline.begin();
for (; fieldString != oneline.end(); ++fieldString)
{
std::cout << *fieldString << std::endl;
}
}
}
return 0;
}
结果: