mysql---连接数太多 (1040 too many connection),调大连接

贵州项目mysql数据库连接太多---1040 too many connection


计划调一下最大连接数。

方法1:(命令修改)

1)登录mysql:mysql -u root -p  输入密码,回车

执行以下语句修改最大连接数:set global max_connections = 3600; VARIABLE_NAME='MAX_CONNECTIONS';

2)登录成功后执行以下语句查询当前的最大连接数:select VARIABLE_VALUE from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='MAX_CONNECTIONS';

3)执行以下语句修改最大连接数:set global max_connections = 800;


问题:

但是3)遇到了ERROR 1227 (42000): Access denied; you need (at least one of) the PROCESS privilege(s) for this ....

解决办法:

尝试在配置文件my.cnf(linux环境下)跳过权限。

 在[mysqld]段中加入 skip-grant-tables保存之后,重启mysql服务。

再进行之前上述操作,可以执行成功。 


但是重启后没有修改成功。(图中 0 rows affected已经说明了问题。)

--------------------------------------------------------------------------------------------------------------------

方法二:

直接在配置文件my.cnf中添加(修改)max_connections的配置


重启后,查看。修改成功。 ok.


### MySQL 'Too many connections' 错误解决方案 #### 修改最大连数配置 对于遇到 `Too many connections` 错误的情况,可以通过MySQL 配置中的最大连数来解决问题。具体操作如下: - 对于通过 Docker 创建的 MySQL 容器,在启动容器时可以指定环境变量 `MYSQL_MAX_CONNECTIONS` 来设定最大连数量[^2]。 ```bash docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_MAX_CONNECTIONS=500 -d mysql:tag ``` - 或者编辑 MySQL 的配置文件 `my.cnf` 或 `my.ini` 文件,找到 `[mysqld]` 节点下增加或修改 `max_connections` 参数至合适的数值[^5]。 ```ini [mysqld] max_connections = 500 ``` 之后重启 MySQL 服务使更改生效。 #### 查看当前最大连数 为了确认当前系统的最大连数设置情况,可以在 MySQL 命令行工具中执行命令: ```sql SHOW VARIABLES LIKE 'max_connections'; ``` 这有助于评估是否有必要进一步高此参数值[^4]。 #### 断开闲置连接以释放资源 当存在大量未关闭的闲置连接时,这些连接不仅占用服务器资源还可能导致新的合法请求无法建立新连接。因此定期清理不再使用的连接非常重要。可通过以下 SQL 查询获取长时间处于非活动状态的进程列表,并终止它们: ```sql SELECT ID, USER, HOST, DB, COMMAND, TIME FROM information_schema.PROCESSLIST WHERE TIME > 3600; KILL QUERY process_id; -- 替换process_id为实际要结束的任务ID ``` 上述语句用于查找超过一小时无动作的会话并将其杀死,以此方式主动管理连接池大小从而预防因过度累积造成的性能瓶颈问题[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值