zoukankan      html  css  js  c++  java
  • mysql调优最大连接数

    一、mysql调优

    1.1 报错:

    Mysql: error 1040: Too many connections

    1.2 原因:

    1、访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力。
    2、MySQL配置文件中max_connections值过小,默认151。

    1.3 最优计算方法:

    服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。

    Max_used_connections / max_connections * 100% = 2/151 *100% ≈ 1%

    1.4 法一,临时生效方法

    #默认最大连接数
    mysql> show variables like '%max_connections%';
    +-----------------+-------+
    | Variable_name   | Value |
    +-----------------+-------+
    | max_connections | 151 |
    +-----------------+-------+
    1 row in set (0.00 sec)
    
    #调整最大连接数
    mysql> set global max_connections = 1000;
    Query OK, 0 rows affected (0.00 sec)
    
    #查看最大连接数
    mysql> show variables like '%max_connections%';
    +-----------------+-------+
    | Variable_name   | Value |
    +-----------------+-------+
    | max_connections | 1000 |
    +-----------------+-------+
    1 row in set (0.00 sec)
    
    #限制每个用户session连接数 mysql> show global status like 'Max_used_connections'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 152 | +----------------------+-------+ 1 row in set (0.00 sec) 备注: 1、max_connections :是对整个服务器的用户限制,整个服务器只能开这么多session,而不考虑用户。这个参数实际起作用的最大值(实际最大可连接数)为16384
    2、max_user_connections:限制每个用户的session连接个数,例如max_user_connections=1 ,那么用户u1只能连接的session数为1,如果还有用户u2,还是可以连接,但是连接数仍然为1。 

    1.5 法二:永久生效方法

    [root@a1 mysql]# egrep -v "#|^$" my.cnf 
    [mysqld_safe] 
    err-log=/var/log/mysqld.log 
    pid-file=/var/lib/mysql/mysqld.pid
    default-character-set = utf8
    [mysqld]
    port = 3306
    socket = /tmp/mysql.sock
    innodb_buffer_pool_size=2GB  #调优创建事务报错
    basedir = /roobo/server/mysql
    datadir = /roobo/mysqldata/database
    pid-file = /var/lib/mysql/mysql.pid
    character_set_server = utf8
    log-bin = /roobo/server/mysql/data/mysql-bin
    server_id = 1
    log-error=/var/log/mysqld.log
    max_connections=1000   #调优最大连接数报错
    

    #重启服务

    /etc/init.d/mysqld restart
  • 相关阅读:
    教程:在 Visual Studio 中开始使用 Flask Web 框架
    教程:Visual Studio 中的 Django Web 框架入门
    vs2017下发现解决python运行出现‘No module named "XXX""的解决办法
    《sqlite权威指南》读书笔记 (一)
    SQL Server手工插入标识列
    hdu 3729 I'm Telling the Truth 二分图匹配
    HDU 3065 AC自动机 裸题
    hdu 3720 Arranging Your Team 枚举
    virtualbox 虚拟3台虚拟机搭建hadoop集群
    sqlserver 数据行统计,秒查语句
  • 原文地址:https://www.cnblogs.com/nulige/p/10714881.html
Copyright © 2011-2022 走看看