时间:2021-05-23
在mysql的手册中已经对max_user_connections有一点说明,它是用来限制用户资源的,怎么限制用户资源呢?这里做了个小测试。
首先产看该全局变量的值
mysql> select @@max_user_connections;
+------------------------+
| @@max_user_connections |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.00 sec)
默认情况系是为0的
为0是什么意思呢?它是说不限制用户资源的。
在这里我改变一下它的值,并在查询,注意这改变在服务器重启后无效,想一直保存的话就放在选项文件里面!
mysql> set @@global.max_user_connections=1;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@max_user_connections;
+------------------------+
| @@max_user_connections |
+------------------------+
| 1 |
+------------------------+
1 row in set (0.00 sec)
现在我重新开启一个连接
C:\Windows\System32>mysql -uroot -pweb
ERROR 1203 (42000): User root already has more than 'max_user_connections' activ
e connections
意思是这个用户已经达到最大的连接数,不能再连接拥有资源!
该参数只能对整体限制资源,不能对某个用户进行限制,如果需要对某个用户限制的话,你可以在权限表里面看到
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
这几个参数可以对某个用户进行限制。
max_connections 的意思是对整个服务器的用户限制!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
解决方法是修改/etc/mysql/my.cnf,添加以下一行:set-variable=max_connections=500或在启动命令中加上参数max_c
MySQL理论上使用的内存=全局共享内存+max_connections×线程独享内存。也就是:innodb_buffer_pool_size+innodb_l
今天刚好需要配置mysql5.5.45,因为数据库量挺大的,所以必须优化,要不mysql真的不快。(1)、max_connections:允许的同时客户的数量。
全局,动态,默认值-1表示自动调整大小,公式:8+(max_connections/100)。最小值0,最大值16384,查看当前:MySQL[(none)]>
MySQL查看最大连接数和修改最大连接数1、查看最大连接数showvariableslike'%max_connections%';2、修改最大连接数setGL