Mysql 各种问题处理

问题一:

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,重新打开即可

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值