Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 509|回复: 0

Mysql mysql lost connection to server during query 问题解决方法

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-7-17 14:21:22 | 显示全部楼层 |阅读模式

    在linux上新安装的mysql数据库远程连接速度很慢,用Navicate可以正常连接但是时间很长;使用toad连接提示Mysql mysql lost connection to server during query。通过百度使用以下方案,使用后Navicate连接速度明显加快,toad可以正常连接速度也很快。

    方案1.在mysql配置文件[myslqd]下面添加一行设置skip-name-resolve.需要重启mysql服务.

     

    ps.度娘还告诉了一些其他方案,没有尝试,在此处列出来后续如果有需要再尝试下

     

    方案2.在hosts文件内添加: ip与主机名的映射关系,如: 127.0.0.1 localhost. 这种方式不用重启mysql服务.

     

     

    ---------------------------
    三个层面上解决这个问题:
    1. 代码层面,你需要在自己的PHP数据库连接处增加大致如下代码。
    if( in_array(mysql_errno(), array(2006, 2013))){
             mysql_close();
             mysql_connect(...);
            mysql_query(...);
    }
    也就是说遇到2006,2013错误就重新连接一下MySQL。
    2. MySQL层面,需要配置一些参数 my.cnf (但是这里是linux下,我的windows配置怎么办?)
    wait_timeout = x 超时时间 如600秒
    max_allowed_packet = y 最大允许数据量
    适当增加x,y的值。
    3. 一般出现这种情况不是所有例句而是单个表,请你先修复表一般都能解决这类问题。
    ----------------------
    MySQL Error 2013: Lost connection to MySQL server during query
    错误代码: 1153 - Got a packet bigger than 'max_allowed_packet' bytes
    解决方法:
    修改mysql.ini(网上都说是这个文件,找了N久终于知道在哪里了,我的目录是在 D:\MySQL_Data\MySQL Server 5.5 在MySQL_Data文件夹下)文件添加如下代码即可
    max_allowed_packet=500M

    如果不可以的话就修改D:\MySQL\MySQL Server 5.5\my-huge.ini
    里的max_allowed_packet=16M 把16改为500
    我是根据此方法做的,试试
    ----------------------
    4. 可以直接在mysql中设置:
    #show variables like '%timeout%';
    #show variables like 'max_allowed_packet'
    set global wait_timeout=60000;
    #set global max_allowed_packet = 2*1024*1024

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-23 03:46 , Processed in 0.058097 second(s), 27 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表