Mysql连接数过多、Mysql连接错误过多的问题处理、mysql常见错误集锦
在使⽤Mysql的过程中,你总是会遇到这样那样的问题,每次去⽹上查也相对⽐较⿇烦,所以在此整理⼀下(以linux ubantu16 系统为例)。
推⼴(官⽹:、Git:解决前端开发痛点,为前端开发量⾝订做):shell脚本基础教程
1. mysql 连接数太多(SequelizeConnectionError: Too many connections)
这个就是最常见的问题了。因为我做的这个是前端监控系统,⽇志上报量⽐较⼤,所以经常会遇到连接数不够⽤的情况。除了你要使⽤其他技术来缓解并发量,还需要适当的设置mysql数据库的最⼤连接数。那么怎么增加mysql的最⼤连接数呢,设置多⼤为合适呢,这⼜是⼀个⽐较⿇烦的问题了。下边是我的⼀些浅见,仅供参考。
⾸先我们需要, 进⼊mysql的命令⾏:
查看当前mysql的连接数:
mysql> show global status like'Max_used_connections';ps切图如何多张图片一起导出
403
实例化静态网格体组件10.00
如何设置mysql的最⼤连接数呢?
第⼀种⽅法:通过mysql命令设置(这种⽅法是临时性的,重启mysql以后就会失效)
mysql>set GLOBAL max_connections=2000;
00.00
mysql启动不了是什么原因第⼆种⽅法:进⼊mysql⽬录(/usr/local/mysql)到myf⽂件,添加如下配置(注意:最⼤连接数不要设置过⼤,有可能会在启动的时候爆掉哦),然后执⾏命令$: service mysql restart
max_connections=1000
Mysql的最⼤连接数设置多少合适呢?
对照阿⾥云的TCP连接数来看⼀下,阿⾥云的TCP连接数可以看出瞬间并发量的多少,然后跟我们的数据库连接数做个对⽐。正常情况下TCP连接数为1K左右的时候,MySQL的连接数为400左右。本来瞬间的并发量能达到9K, 但是我将⼀部分流量导⼊到其他服务器上,所以现在最⾼的并发量能够达到3.4K。当最⼤3.4K并发量的时候,有两台服务器同时访问mysql,我的数据库连接数是1153个左右。
所以,如何设置mysql最⼤连接数,可以参考⼀下我的这个数值。
2. Mysql连接错误太多(SequelizeConnectionError: Host '' is blocked because of many connection errors; unblock with
'mysqladmin flush-hosts')
getchar函数格式这个问题并不常见,因为⼀般mysql的默认值是100。只有当同⼀个IP对mysql访问出现100次连接错误的时候,mysql就会拒绝这个ip的请求访问。因为我的⽇志服务和数据库是分离的,所以,经常会在量⼤的时候出现这个问题。
查看连接报错配置:
mysql无法连接到服务器
| Variable_name | Value |
100
10.01
此时只需要执⾏⼀下: flush hosts; 就可以清理掉错误记录了。
单个ip连接报错查询:
设置连接数报错最⼤数量:
1000
00.00
3. mysql字符集配置错误,导致⽆法插⼊数据库(Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and
(utf8mb4_general_ci,COERCIBLE) for operation)
在数据库执⾏查的命令,判断条件含有特殊字符,再执⾏的时候报了以上错误;
查看字段编码发现是 latin1 字符集的latin1_german1_ci排序规则,⽽数据库是utf-8编码,确定错误是编码导致。 修改数据库字段为utf-8编码再次执⾏顺利查出结果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论