JavaLYG - mysql
type: channel
link: https://www.liuyg.cn/index.php/tag/mysql/
items: mysql表空间整理
items: mylsq报错：1040 - Too many connections(连接数过多)

mysql表空间整理
type: item
date: 2024-01-17T03:29:00+08:00
description: 查询所有表空间的碎片select concat('optimize table ', table_schema, '.', table_name, ';'), data_free/1024/1024, engine from information_schema.tables where data_free > 0 and engine != 'MEMORY';查询某一个碎片空间show table status like 'requestlog';整理表空间alter table requestlog engine = innodb,algorithm = inplace ; 这个整理语句不会锁表，但是会造成卡顿

mylsq报错：1040 - Too many connections(连接数过多)
type: item
date: 2023-01-09T07:25:15+08:00
description: 问题原因：Too many connections用navicat打开mysql数据库报错，提示这个报错1、查看数据库设置连接数 show variables like '%max_connection%';首先先要考虑在我们 MySQL 数据库参数文件里面，对应的 max_connections 这个参数值是不是设置的太小了，导致客户端连接数超过了数据库所承受的最大值。该值默认大小是 151，我们是写死的200，后来多上了几个系统，并没有对该值进行扩容，所以造成mysql连接数超过最大值。2、解决方法修改配置文件，或者执行操作指令进行更新；1、sql修改数据库连接数通过sql直接修改连接数，如果你在配置文件写了这个参数。在这里通过sql设置，重启后会失效的。set global max_connections=5002、修改配置文件找到mysql安装目录，修改配置文件为500。修改后需要重启mysql，或者执行sql进行修改（重启后就是配置文件的500）。#最大连接数 max_connections=500