博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql out of memory needed 8164 bytes 等问题
阅读量:7032 次
发布时间:2019-06-28

本文共 1391 字,大约阅读时间需要 4 分钟。

c++ 连接mysql。

#include “mysql.h”

int main ()

{

MYSQL  conn;

mysql_init(&conn);

if (mysql_real_connect(&conn,"172.16.66.1","xaf","111111","bai",0,NULL,0)

{

  cout<<"success!"<<endl;

}

else

{

  cerr<<"failed"<<endl;

  if (mysql_errno(&conn))

  {    cout<<mysql_errno(&conn)<<"  "<<mysql_error(&conn);}

}

 

std::string sql="select * from ss ";

int sq=mysql_query(&conn,sql);

if (!sq){

  res_ptr=mysql_store_result(&conn);

  if(res_ptr)

  {  while(sqlrow=mysql_fetch_row(res_ptr)){..} }

mysql_free_result(res_ptr);   这句话特别重要,

mysql_close(&conn);

 

 }

g++ -g -c test.cpp

g++ -o test test.o -lmysqlclient

1.查询结果要释放。

 

以前我编程序只要能跑出来就好了,不需要考虑程序的持久性,但是自从遇到比较大的项目,数据量很大,要循环很多次查询数据库,程序甚至需要运行几天。这样我就遇到了这里所说的错误,mysql out of  memory needed 8164 bytes.  而且我都不知到错在哪。

 

以后编程要知道收尾,每创建一个对象,每使用一次内存,想着是不是要在该释放的时候释放。

 p2.  errno:2003,error:can't connect to mysql on server "172..." (111)   :

最终解决:因为我有多个线程,每个线程里创建MYSQL connect,建立连接,一开始没有对建立连接的语句加锁,后来加锁后,就可以了:

pthread_mutex_t m_mutex();

pthread_mutex_lock(&m_mutex);

mysql_init(&conn);

if (mysql_real_connect(&conn,"172.16.66.1","xaf","111111","bai",0,NULL,0)

{

  cout<<"success!"<<endl;

}

else

{

  cerr<<"failed"<<endl;

  if (mysql_errno(&conn))

  {    cout<<mysql_errno(&conn)<<"  "<<mysql_error(&conn);}

}

pthread_mutex_unlock(&m_mutex);

 p3. 多线程运行程序,如果不在每个线程函数结束加mysql_close(&conn) ;之前调试运行时,每次都没有释放连接,会出现error:too many connections.

转载于:https://www.cnblogs.com/xaf-dfg/p/3437369.html

你可能感兴趣的文章
oracle JOB常见的执行时间
查看>>
自动补0
查看>>
Python如何批量给云主机配置安全组?
查看>>
iOS音频播放 (四):AudioFile
查看>>
Oracle 存储过程异常处理
查看>>
URL里面存在下划线导致SESSION在IE下被分隔
查看>>
自定义注册的 Windows服务 无法访问网络共享文件解决办法
查看>>
postgersql日志备份和还原
查看>>
简单的pythonweb程序
查看>>
RemoteView概述
查看>>
JAVA集合小结
查看>>
ubuntu下android 源码下载
查看>>
Oracle数据库角色管理
查看>>
订单系统 高级设计
查看>>
flutter 底部输入框 聊天输入框 Flexible
查看>>
mac安装thrift 0.93
查看>>
cxf客户端代码自动生成
查看>>
sql语句的分页技术
查看>>
android定位和地图开发实例
查看>>
Spring从入门到精通视频教程合集
查看>>