本文将带您了解关于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
- 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 导入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 的连接超时
该配置一般不会是 导入 sql 文件报错的原因;show global variables like '%timeout';
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
当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
问题描述:
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
bitsCN.com
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等相关知识,可以在本站进行查询。
本文标签: