解决MySQL server has gone away的问题

    技术2022-05-20  42

    解决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  }


    最新回复(0)