关于Mysql使用时出现部分错误的总结

最近进行mysql开发时,遇到了一些比较常见的错误,但根据网上的一些解决方法没有办法解决,最后自己不断调试而解决掉了,特记录一下。

一、mysql lost connection during query错误错误提示

原因:链接断开导致。该错误一般在客户端查询过程中崩溃,或者服务器过载崩溃返回错误。

二、SSL connection error: error:00000005:lib(0):func(0):DH lib错误提示

原因:该错误一般在异常断开mysql连接后再次进行查询操作时会返回该错误。

三、Commands out of sync; you can’t run this command now错误提示

参考链接
原因:服务器中进行查询操作时,并发查询另外一个结果时会出现,主要原因是没有释放上次查询的结果。

解析:mysql中其实默认支持并发操作,因此表面上是查询过程的冲突,但实际上是调用函数的关系,是由于mysql_use_result 和 mysql_store_result的原因。mysql_use_result使用时,是取实时结果,上一次的查询结果仍保存在服务器端,此时并不允许再进行查询,因为查询结果仍在使用,需要释放掉后才允许继续查询。而mysql_store_result则是先在本地保存了之前的服务器的查询结果,后续操作函数操作是取的本地结果,这时服务器端的结果是已经释放了,因此可以允许另外的链接进行查询。,
如调用mysql_store_result后仍出现该提示,则由于本地查询结果没有完全释放导致,需要将结果完全释放。

do
{
	MYSQL_RES* res = mysql_store_result(&mysql);
	mysql_free_result(res);//逐个结果释放
}
while ( (0 == mysql_next_result(&mysql)) );

四、Lost connection to MySQL server at ‘reading authorization packet’, system error: 2 错误提示

原因:
1、如果传输的数据量超出mysql所设定的数据量大小,则可能会提示该错误,并且system error 提示为 0
2、如果接收数据时,客户端由于某种原因导致异常断开,那么下次链接时会接收到该错误。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值