GVKun编程网logo

MySQL Lost connection to MySQL server during query

9

本文将带您了解关于MySQLLostconnectiontoMySQLserverduringquery的新内容,另外,我们还将为您提供关于2个百万行级表,在本地,根据一个表对另一表作updatese

本文将带您了解关于MySQL Lost connection to MySQL server during query的新内容,另外,我们还将为您提供关于2个百万行级表,在本地,根据一个表对另一表作update set,select,频繁报 Lost connection to MySQL server during query、ERROR 2013 (HY000): Lost connection to MySQL server at ‘rea_MySQL、ERROR 2013 (HY000): Lost connection to MySQL server during query、linux下mysql启动出现Can''t connect to local MySQL server thr_MySQL的实用信息。

本文目录一览:

MySQL Lost connection to MySQL server during query

MySQL Lost connection to MySQL server during query

在 MysqL 导入sql文件时报错该信息;
有 sql 备份文件 大概 104G左右。再倒入时发现报错;
最后排查结果修改信息如下:

解决办法

  • 修改max_allowed_packet值大小
    max_allowed_packet的协议限制为1GB。这个值必须是1024的倍数;如果不是1024倍数的值,MysqL就会自动四舍五入为最接近的1024的倍数。
    # 查看 配置大小
    show global variables like '%wait_timeout';
    # 修改配置大小 ,my.cnf 修改方式
    max_allowed_packet = 900M
    # 命令行修改方式
    set global max_allowed_packet = 2*1024*1024*10; # (注意,这里的大小只能填写字节。重启MysqL服务后,配置将会失效!)
    
  • 修改 MysqL innodb_buffer_pool_size 大小
    建议修改为 可用内存的 60% 左右,我最终的解决方案就是修改的 innodb_buffer_pool_size 配置;因为我机器可用内存少于该配置分配的值,之后修改为 可用内存 60% 之后解决了 sql 导入问题;
    innodb_buffer_pool_size         = 23552M
    
  • 另外一个就是修改 MysqL 的连接超时
    show global variables like '%timeout';
    
    该配置一般不会是 导入 sql 文件报错的原因;

2个百万行级表,在本地,根据一个表对另一表作update set,select,频繁报 Lost connection to MySQL server during query

2个百万行级表,在本地,根据一个表对另一表作update set,select,频繁报 Lost connection to MySQL server during query

环境:mac os10.12 ,intel 2.7G CPU,mysql 5.7,navicat for mysql 11.2,且mysql 作了相关优化,如下图(均在本机使用,小本内存16G):

 

1、需求:

     两表(a/b表)字段均为:id/name/age,因a表数据正确 ,但b表name、age等数据与a表相比,有缺失,但2表id均是一样的,未作外键操作,也未作索引,在a表100行,b表300万行。

  现在想让b表的name/age与a表保持一致,所以根据id来update实现:

方法一:update a,b set a.name=b.name on a.id=b.id;

方法二:update a SET t1.`name`= t2.name from a as t1 inner JOIN b as t2ON t1.ID =t2.ID;(换left join 或 right join均结果一样)

最后没办法,就用select看看:

SELECT a.ID,a.name,b.ID,b.name FROM a left JOIN  b on a.ID=b.ID;

照样报“Lost connection"错误!

后想对ab表作索引,也报同样错误。

2、优化:

按网络上各种方法对my.cnf作了优化,如下图:

3、在mysql终端上操作,等半小时后,电脑没在运行,也不报错,更没结果。

 

求教各位大神,有何办法,update百万级大表。相信不是mysql的问题,而是哪儿没掌握好方法。

 

 

ERROR 2013 (HY000): Lost connection to MySQL server at ‘rea_MySQL

ERROR 2013 (HY000): Lost connection to MySQL server at ‘rea_MySQL

当web服务器负载高的时候,经常会出现这种错误,

原因:

MySQL默认connect_timeout是5秒,超过了这个时间MySQL的server端就会返回“Bad handshake”。

解决办法:

1.大多数时候设置"set global connect_timeout=60"是可以解决问题的;

我们可以通过执行“SHOW STATUS LIKE ''aborted%''”,可以观察到
Variable_name Value
Aborted_clients 6
Aborted_connects 15010

觉得是否要增加connect_timeout的时间,"Aborted_connects"将会随着服务端放弃客户端初始连接而增加。如果"Aborted_connects"很大,并且不断增加,就需要增加"connect_timeout".

2.在MySQL的配置文件中[mysqld]添加"skip-name-resolve",减少域名解析的时间

3.部署服务器端的网络要好,至少大于100Mbps/s

4.如果是在调用mysql_query的时候出现的问题,那就需要把"net_read_timeout"的时间调成30秒,或者60秒,或者更大的值

5.如果还不能解决问题,那估计是你的SQL语句中含有BLOB这种大类型,我们就需要增加"max_allowed_packet"的值了

参考资料:

http://dev.mysql.com/doc/refman/5.0/en/error-lost-connection.html

ERROR 2013 (HY000): Lost connection to MySQL server during query

ERROR 2013 (HY000): Lost connection to MySQL server during query

问题描述:

Navicat连接远程服务器Mysql报错:

ERROR 2013 (HY000): Lost connection to MySQL server during query

过程:

Navicat新建连接输入参数,连接测试输出成功!

但在连接时报错:

问题排查:

猜测是不是Navicat问题,所以尝试使用cmd终端连接:

MySql连接远程服务器命令

mysql -h[ip地址] -u[用户名] -p[密码]

发现终端下连接后报同样的错误。

解决:

Navicat通过ssh连接mysql

1、Navicat连接,现在【常规】面板中填写mysql服务参数ip、port、mysql用户名/密码

2、切换到【SSH】面板中填写服务器参数ip、port、服务器用户名/密码

总结:

通过建立SSH隧道连接MySQL,解决网络隔离无法直接访问数据库的问题。

本文使用的是直接使用Navicat通过ssh连接,还有一种方法是通过xshell端口转发到Navicat形式感兴趣的可以研究一下。

知识点延展:

SSH是什么?

SSH 安全外壳协议(Secure Shell Protocol / SSH)为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。

简单的说,SSH是一种网络协议,主要用于客户端与远程主机的安全链接和交互。

安全链接的过程是:
1.远程主机端收到客户端的登陆请求时先发送自己的公钥给客户端
2.客户端用拿到的公钥加密用户名和密码,然后发送给远程主机
3.远程主机用自己的密钥解密收到的用户名和密码,然后校验用户名和密码是否正确,如果正确则登陆成功。

linux下mysql启动出现Can''t connect to local MySQL server thr_MySQL

linux下mysql启动出现Can''t connect to local MySQL server thr_MySQL

bitsCN.com linux下mysql启动出现Can''t connect to local MySQL server through socket的问题 问题: linux下mysql启动问题! Can''t connect to local MySQL server through socket 解决方案:(我的解决方案成功了!其它情况就参照一下吧!嘿嘿。。。)
 Ruby代码  首先:cp /usr/share/doc/MySQL-server-5.5.24/my-medium.cnf /etc/my.cnf      其次:touch /var/lib/mysql/mysql.scok  第三:/etc/rc.d/init.d/mysql status //查看mysql服务是否启动  第四:service mysql start//如果mysql服务没有启动,便启动mysql服务  第五:service mysqld start     作者 wyzxzws bitsCN.com

今天关于MySQL Lost connection to MySQL server during query的分享就到这里,希望大家有所收获,若想了解更多关于2个百万行级表,在本地,根据一个表对另一表作update set,select,频繁报 Lost connection to MySQL server during query、ERROR 2013 (HY000): Lost connection to MySQL server at ‘rea_MySQL、ERROR 2013 (HY000): Lost connection to MySQL server during query、linux下mysql启动出现Can''t connect to local MySQL server thr_MySQL等相关知识,可以在本站进行查询。

本文标签: