您的位置:首页 > 数据库 > SQL

解决MySQL server has gone away的问题

2011-02-28 11:36 429 查看
解决MySQL server has gone away这样的问题

我这个长时间后突然访问的时候还是会出现访问mysql失败,下面是try catch到的错误:

Error: MySQL server has gone away 2006

网上的解决方案: http://boaiking.blog.163.com/blog/static/581721582009227103651576/
http://dev.firnow.com/course/7_databases/mysql/myxl/20081213/153721.html

我的解决方法:
在try catch到错误的时候顺便重新连接mysql,下面是加上while后的语句

587 while( true ){
588 try{
589 ans= g_query.store();
590 if( ans.size() > 0 ) {
591
592 klog<<"the user's info is in store"<<endl;
593
594 mysqlcppapi::Row row= *(ans.begin());
595
596 qv["uinterest"] = Json::Value(row["u_it"]);// how to extract multi elements
597
605 }
606 }
607 catch(mysqlcppapi::ex_BadQuery& er) {
608 klog << "Error: "<<er.what()<<" "<<g_sql.errnum()<<endl;
609 g_sql.close();
610 g_sql.connect();
611 klog << "reconnect mysql. " <<endl;
612 continue;
613 }
614 catch(mysqlcppapi::ex_BadConversion& er) {
615 klog<< "Error: Tried to convert /"" << er.get_Data() << "/" to a /""<< er.get_TypeName() << "/"." << endl;
616 }
617 break;
618 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: