zoukankan      html  css  js  c++  java
  • mysql 的max_connections和max_user_connections 的区别

    ----查看max_user_connections 默认值
    
      MySQL> show variables like 'max_user_connections';
    +----------------------+-------+
     | Variable_name        | Value |
     +----------------------+-------+
     | max_user_connections | 0     |
     +----------------------+-------+
    
    1 row in set (0.00 sec)
    
    ---设置 max_user_connections
    mysql> set  @@global.max_user_connections=1;
    
    Query OK, 0 rows affected (0.03 sec)
    mysql>  select @@max_user_connections;
     +------------------------+
     | @@max_user_connections |
     +------------------------+
     |                      1 |
     +------------------------+
     1 row in set (0.00 sec)
    上面参数设置完后窗口,要重新登陆一下
    
    root@dg ~]# mysql -uroot -pmysql
    然后再开一个窗口登陆就会报如下错误:
    root@dg ~]# mysql -uroot -pmysql
     Warning: Using a password on the command line interface can be insecure.
    
    ERROR 1203 (42000): User root already has more than 'max_user_connections' active connections
    
    
    
    另外在登陆一个用户u2,正常登陆,但是在登陆一个u2用户,就会报错:
    root@dg mysql]# mysql -uu2 -pu2
     Warning: Using a password on the command line interface can be insecure.
     Welcome to the MySQL monitor.  Commands end with ; or g.
     Your MySQL connection id is 147
     Server version: 5.6.27-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)
     Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
     Oracle is a registered trademark of Oracle Corporation and/or its
     affiliates. Other names may be trademarks of their respective
     owners.
     Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    
    max_user_connections 针对用户设计的
    
    
    
    
    下面我们来看看max_connections 的作用
    mysql> select @@max_connections;
     +-------------------+
     | @@max_connections |
     +-------------------+
     |               151 |
     +-------------------+
     1 row in set (0.00 sec)
     mysql>  set  @@global.max_connections=2;
     Query OK, 0 rows affected (0.00 sec)
     mysql> select @@max_connections;
     +-------------------+
     | @@max_connections |
     +-------------------+
     |                 2 |
     +-------------------+
     1 row in set (0.00 sec)
    上面参数设置完后窗口,要重新登陆一下
    [root@dg mysql]# mysql -uroot -pmysql
    在开一个窗口session2正常登陆:
    [root@dg mysql]# mysql -uroot -pmysql
    再开第三个窗口,session3 登陆的时候报错
    [root@dg ~]# mysql -uroot -pmysql
     Warning: Using a password on the command line interface can be insecure.
     ERROR 1040 (HY000): Too many connections
     [root@dg ~]# mysql -uu2 -pu2
     Warning: Using a password on the command line interface can be insecure.
     ERROR 1040 (HY000): Too many connections
    
    
    实验完毕后,改回原来的参数
    mysql>  set  @@global.max_user_connections=0;
     Query OK, 0 rows affected (0.00 sec)
    
     mysql>  select @@max_user_connections;
     +------------------------+
     | @@max_user_connections |
     +------------------------+
     |                      0 |
     +------------------------+
     1 row in set (0.00 sec)
     mysql>  set  @@global.max_connections=200;
     Query OK, 0 rows affected (0.00 sec)
     mysql> select @@max_connections;
     +-------------------+
     | @@max_connections |
     +-------------------+
     |               200 |
     +-------------------+
     1 row in set (0.00 sec)
    
    
    结论:
    
    max_user_connections:限制每个用户的session连接个数,例如max_user_connections=1 ,那么用户u1只能连接的session数为1,如果还有用户u2,还是可以连接,但是连接数仍然为1
    max_connections :是对整个服务器的用户限制,整个服务器只能开这么多session,而不考虑用户!
  • 相关阅读:
    mysqld参数配置
    mysql配置详解
    前台获取json未定义问题之两种常用解决办法
    Java相关框架资料及其基础资料、进阶资料、测试资料之分享
    Jmeter之tomcat性能测试+性能改进措施
    Jmeter之mysql性能测试
    MyBatis之反射技术+JDK动态代理+cglib代理
    MyBatis之动态sql
    MyBatis+Hibernate+JDBC对比分析
    前台返回json数据的常用方式+常用的AJAX请求后台数据方式
  • 原文地址:https://www.cnblogs.com/musings/p/5930358.html
Copyright © 2011-2022 走看看