局域网内,客户端无法连接 MySQL Server 了,报 Lost connection to MySQL server at 'reading authorization packet'

hbolive:背景:局域网内一台 Win 2008 安装有 MySQL 5.7 Server,2 年多了,PC 客户端 A ( win7 )一直连接正常;

起因:昨天下午在 A 上测试一个 golang 程序,因为 go 不太熟,用 xorm:engine, err = xorm.NewEngine 连 MySQL 的时候,是在一个 for 循环里连的,密码写错了,也没 sleep,导致短时间对 MySQL 产生了大量连接,发现不对立刻立刻结束了 go 程序

结果:就再也连不上 MySQL 了,用 Navicat 连接报:2013 - Lost connection to MySQL server at 'reading authorization packet',system error 0
用命令行连接报:2013 - Lost connection to MySQL server at 'reading authorization packet',system error 2
都是连接超时,然后报这个错误。

处理:查阅资料,做了如下处理(修改后都重启过服务):
1 、设置 skip-name-resolve
2 、修改 connect_timeout 为 20 秒
3 、max_connection_errors 我看有 200,就没修改
4 、也有说连接操作错误次数,被服务器 ban 了,mysqladmin flush-hosts
5 、新建用户,用新用户连接
6 、用其他客户端连这台服务器正常
6 、用 A 连另一台服务器上的 MySQL Server 也正常

都无效。有两个老外的问题差不多,最后说是网络的原因,我这肯定不是了。。

实在不知道怎么处理(应该就是跑 go 的时候短时间大量连接失败造成的吧),特来问下各位,谢谢!

dorothyREN:你这个应该是被服务器 ban 了。

mysql 这种情况怎么查?

qaqLjj: 如图,怎么查询同时掌握了第一张表所有技能的员工呢? 也就是说,希望的结果如下: emp 神崎 相田

mysql 查询

shimingzhoudf:A 表有 1,2,3,4 个字段 我现在查询结果需要是这样 表名 中文名 1 2 3 4 数据 x x x x x ... ... .. .. .. .. 其实中文名就是 4 字段的值 我看别人这样写过: select 4 中文名, * where 表名; 但我自己用老报语法错误shimingzhoudf:语法是这样 select…

一个 mysql 库容纳多少个表会比较明显的影响速度?

l890908:理论上来说基本上没有限制(42 亿多),但是同时访问的表越多,文件描述符就越多,从操作系统角度来说还是有影响的;那么在实操过程中多少个表会比较明显的影响速度?qiayue:可以不用考虑极限了,按照业务分库分表即可。举例我们的统计 SDK,每个接入的 app 都给一个单独的库,这样不同 app 互不影响。

对于多字段的组合搜索条件, mysql 应该怎么设置索引

dajj:假设有一个列表界面, 有 10 个搜索条件, 每个条件对应表的某个字段,都是精确搜索。 但是表的数据有 100 万条。 这种情况下,复合索引无法设置,因为字段组合太多. 那么,有没有通用的解决方案,可以设置索引,让任何条件的搜索都能很快?v2exblog:同问

Mysql 数据库锁的一个问题

huntcool001:默认隔离级别 可重复读, autocommit=1, 建表:CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `age` tinyint(3) DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_age` (`ag…