问题一:
mysql 1040 too many connections
1、登录
2. 执行show variables like "max_connections";
3.执行set GLOBAL max_connections=1000;
4.执行show variables like "max_connections";
5.退出mysql服务,exit
参考链接:https://blog.csdn.net/smd2575624555/article/details/86010183
问题 二:
显示慢查询
show processlist;
查看连接数,可以发现有很多连接处于sleep状态,这些其实是暂时没有用的,所以可以kill掉
1、 select concat('KILL ',id,';') from information_schema.processlist where user='root';
2、kil了1380;
2020年7月1日
最终解决方案:
MySQL 休眠sleep进程,设置定时杀死
公司有一台Linux服务器专门用来跑公司的WEB服务,由于历史原因,站点数与页面非常多,导致经常出现大量的sleep进程;MySQL服务器所支持的最大连接数是有上限的,因为每个连接的建立都会消耗内存,因此我们希望客户端在连接到MySQL Server处理完相应的操作后,应该断开连接并释放占用的内存。如果你的MySQL Server有大量的闲置连接,他们不仅会白白消耗内存,而且如果连接一直在累加而不断开,最终肯定会达到MySQL Server的连接上限数,这会报'too many connections'的错误。对于wait_timeout的值设定,应该根据系统的运行情况来判断。
编辑 /etc/my.cnf,在mysqld 下 新增 timeout参数,设置为120秒,如下:
【mysqld】
wait_timeout=120
interactive_timeout=120
注意:要同时设置interactive_timeout和wait_timeout才会生效。
最后重启一下mysql 生效 即可!
sudo vi /etc/mysql/my.cnf
在【mysqld】添加两行
wait_timeout=120
interactive_timeout=120
sudo service mysql stop
sudo service mysql start
参考文章 MySQL 休眠sleep进程,设置定时杀死_番石榴-452124076的博客-CSDN博客
问题:
Error 1292: Incorrect datetime value: '0000-00-00' for column 'update_time' at row 1
# 修改全局
set @@global.sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
# 修改当前
set @@sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
参考文章:https://www.cnblogs.com/lewisat/p/14966148.html
----------------------------------------------------------------------
navicat中间的表不显示,空白
解决方案:直接退出navicat,重新打开即可