快速增加MYSQL数据库连接数负载能力的方法分享

第一先限制Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是64 看机器压力,如果
非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.
处理方法: set global innodb_thread_concurrency=16;

方法一: (window系统中可直接修改my.ini文件)

进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可

方法二: (在mysql命令模式下)

对于连接数已经超过600或是更多的情况,可以考虑适当的限制一下连接数,让前端报一下错,也别让DB挂了.
DB在了,总是可以用来加载一下数据,当数据加载到了nosql里了,慢慢的DB压力也会降下来的.
限制单用户连接数在500以下. 如:
set global max_user_connections=500;

(MySQL随着连接数的增加性能会是下降的,这也是thread_pool出现的原因)
另外对于有的监控程序会读取information_schema下面的表的程序可以考虑关闭下面的参数
innodb_stats_on_metadata=0
set global innodb_stats_on_metadata=0;

方法

MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppassword
设置新的最大连接数为200:mysql> set GLOBAL max_connections=200
显示当前运行的Query:mysql> show processlist
显示当前状态:mysql> show status
退出客户端:mysql> exit
查看当前最大连接数:mysqladmin -uusername -ppassword variables

这个参数主要防止对读取information_schema时造成大量读取磁盘进行信息统计(如果慢查询中出现关于information_schema中表时,也可以考虑禁用该参数)

处理依据:

当学校的一个食堂一分钟只能为两个打饭, 忽然来了100个时人来打饭,又没排队, 不出会现了打饭的师傅要用点时间
去选择为那个用户服务了, 人越多,场面就越乱, 难免出现用户大吼该他的场面, 最后有可能就出现不是打饭了,而时之间相互
打架了,打饭的师傅也将收到同时有90个以上的Server too busy. 如果能排一下队.最多也就50分钟能处理完了

方法三: (linux中得新编译mysql)

以centos 4.4 下面的mysql 5.0.33 手工编译版本为例说明:
vi /usr/local/mysql/bin/mysqld_safe
找到safe_mysqld编辑它,找到mysqld启动的那两行,在后面加上参数:
-O max_connections=1500
具体一点就是下面的位置:
用红字特别说明:
then $NOHUP_NICENESS $ledir/$MYSQLD
$defaults --basedir=$MY_BASEDIR_VERSION
--datadir=$DATADIR $USER_OPTION
--pid-file=$pid_file
--skip-external-locking
-O max_connections=1500
>> $err_log 2>&1 else
eval "$NOHUP_NICENESS $ledir/$MYSQLD
$defaults --basedir=$MY_BASEDIR_VERSION
--datadir=$DATADIR $USER_OPTION
--pid-file=$pid_file
--skip-external-locking $args
-O max_connections=1500 >>
$err_log 2>&1"
保存。
# service mysqld restart
# /usr/local/mysql/bin/mysqladmin -uroot -p variables
输入root数据库账号的密码后可看到
max_connections 1500 即新改动已经生效。

(0)

相关推荐

  • MySql状态查看方法 MySql如何查看连接数和状态?

    怎么进入mysql命令行呢? mysql的安装目录下面有个bin目录,先用命令行进入该目录,然后用 mysql -uroot -p123456 来登录(注意:用户名和密码不用包含"") 命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接. show processlist;只列出前100条,如果想全列出请使用show full processlist; mysql> show processlis

  • MySQL连接数超过限制的解决方法

    max_user_connections 是 MySQL 用户连接数的最大值设置,整段语句的意思是:服务器的 MySQL 的最大连接数参数设置不足.解决方法:修改 MySQL 安装目录下 my.ini 或者 my.cnf 文件内的 max_user_connections 参数的数值,重启 MySQL 服务器. 但是正常来说,MySQL默认的100个连接数是足够的.我们需要从程序上去考虑.MySQL的默认最大连接数为100(N),实际给普通用户使用只有N-1个,保留一个连接是留给超级管理员使用的

  • 修改MYSQL最大连接数的3种方法分享

    方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100   修改为 max_connections=1000 服务里重起MYSQL即可 推荐第一种方法,修改比较方便. 方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppassword 设置新的最大连接数为200:mysql> set GLOBAL max_connections=200 显示当前运行的Query:mysql>

  • 总结MySQL修改最大连接数的两个方式

    问题 在使用MySQL数据库的时候,经常会遇到这么一个问题,就是"Can not connect to MySQL server. Too many connections"-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限.通常,mysql的最大连接数默认是100, 最大可以达到16384. 常用的有两种方式修改最大连接数. 解决方式一:通过命令 可以通过 set GLOBAL max_connections=100; 命令将最大连接数设置

  • python使用mysqldb连接数据库操作方法示例详解

    复制代码 代码如下: # -*- coding: utf-8 -*- #mysqldb    import time, MySQLdb #连接    conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8")  cursor = conn.cursor() #写入    sql = "i

  • mysql优化连接数防止访问量过高的方法

    很多开发人员都会遇见"MySQL: ERROR 1040: Too many connections"的异常情况,造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力:另一种原因就是MySQL配置文件中max_connections值过小. 首先,我们来查看mysql的最大连接数: mysql> show variables like '%max_connections%'; +-----------------+-------+ |

  • 如何增加mysql的最大连接数

    在开始--Mysql--Mysql Server Instance Configuration Wizard 选Reconfigure Instance 后面的都是默认,直到出现 Please set the approximate number of concurrent connections to the server 选Manual Setting,然后可以输入数字如 2000 后面的都是默认,在Modify Security Settings (修改密码时)不选它,最后选excutiv

  • 快速增加MYSQL数据库连接数负载能力的方法分享

    第一先限制Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是64 看机器压力,如果非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.处理方法: set global innodb_thread_concurrency=16; 方法一: (window系统中可直接修改my.ini文件) 进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_

  • linux下mysql数据库单向同步配置方法分享

    又叫做主从复制,是通过二进制日志文件完成的,注意:mysql 数据库的版本,两个数据库版本要相同 系统环境: 主服务器master IP: 192.168.0.88 从服务器slave IP: 192.168.0.99 单向同步 注意要点 1.只需要把需要同步的数据库备份传到从数据库上,其它任何东西都不需要 2.在从库上还原数据库时,一定先要建了同名数据库,否则还原会提示错误 3.在制定更新点时,一定要在同步进程还没启动前操作 主服务器上配置 对my.cnf进行修改需要重启动数据库设置才会生效,

  • mysql数据库互为主从配置方法分享

    mysql主从配置小记: 共有四台机器:A(10.1.10.28),B(10.1.10.29),C(10.1.10.30),D(10.1.10.31). 配置后结果:A-C互为主从,B为A的slave,D为C的slave. 0)准备工作 在四台机器上面安装好mysql后,创建用于同步的账号. 添加账户: 复制代码 代码如下: INSERT INTO user (Host,User, Password,Select_priv,Insert_priv,Update_priv,Delete_priv,

  • nodejs环境快速操作mysql数据库的方法详解

    github地址https://github.com/dmhsq/dmhsq-mysql-db 可用于腾讯云SCF以及云开发环境 错误处理尚未完善 错误参考mysql错误 引入依赖包 npm install dmhsq-mysql-db 效果如下 简化了mysql的使用 安装依赖 npm install dmhsq-mysql-db 使用示例 快速操作mysql 错误处理尚未完善 部分错误参考mysql错误 引入资源 const database = require("dmhsq-mysql-d

  • 通过sysbench工具实现MySQL数据库的性能测试的方法

    1.背景 sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试.sysbench 支持的测试有CPU运算性能测试.内存分配及传输速度测试.磁盘IO性能测试.POSIX线程性能测试.互斥性测试测试.数据库性能测试(OLTP基准测试).目前支持的数据库主要是MySQL数据库和PG数据库. 在新服务器上线时,建议对服务器的性能做一次测试,最好与既往的同类型的服务器的性能测试报表做一个横线比较,发现潜在问题.及新机器上线前,对服务器做一次体检. 对数据库而言,我们可

  • MYSQL数据库表结构优化方法详解

    本文实例讲述了MYSQL数据库表结构优化方法.分享给大家供大家参考,具体如下: 选择合适的数据类型 1.使用可以存下你的数据的最小的数据类型 2.使用简单的数据类型.Int要比varchar类型在mysql处理上简单 3.尽可能的使用not null定义字段 4.尽量少用text类型,非用不可时最好考虑分表 使用int来存储日期时间,利用FROM_UNIXTIME()[将int类型时间戳转换成日期时间格式],UNIX_TIMESTAMP()[将日期时间格式转换成int类型]两个函数进行转换 使用

  • c++连接mysql数据库的两种方法(ADO连接和mysql api连接)

    第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时不说.第二种方法只能针对于mysql数据库的连接,不过用这种方法不用安装MyODBC服务器程序. 不管用哪种方法,首先需要安装Mysql数据库,安装方法请看"mysql安装及一些注意点".最好安装一个Navicat for mysql,方便操作mysql数

  • php将图片保存入mysql数据库失败的解决方法

    本文实例分析了php将图片保存入mysql数据库失败的解决方法.分享给大家供大家参考.具体分析如下: 图片保存数据库并不是一个明智的做法,我们多半是把图片保存到服务器,然后把图片地址保存到数据库,这样我们每次只要读出图片地址就可以显示了,但下面我还是来介绍一个图片保存到mysql数据库的问题解决办法,代码如下: 复制代码 代码如下: require 'class/db.php'; $fileName = "a1.jpg"; $fp = fopen($fileName, "r&

  • RHEL 6平台MySQL数据库服务器的安装方法

    MySQL数据库是Linux操作系统上用得最多的数据库系统,它可以非常方便的与其它服务器集成在一起,如Apache.Vsftpd.Postfix等.下面介绍RHEL 6平台MySQL数据库服务器的安装方法. 1.安装完整的MySQL数据库需要以下几个RPM包文件: perl-DBI-1.609-4.e16.i686.rpm:Perl语言的数据API perl-DBD-MySQL-4.013-3.e16.i686.rpm:MySQL与Perl语言的接口程序包 mysql-5.1.61-4.e16.

  • linux下mysql数据库的操作的方法

    ①.Mysql数据库的安装: 数据库的安装分为源码安装和rpm安装. 当然对于老手来说需要进行一些自定义的配置,那么当然源码安装的灵活性要高一些. 但是这种安装方式需要管理员自己处理好于系统的依赖关系. 而rpm安装是已经经过编译的二进制文件,然而这种方式仍然对于处理依赖关系很麻烦,于是 产生了一种基于rpm包的前端管理软件yum,yum可以从特点的镜像源下载rpm包并进行自动安装,配置和移除以及在线更新. 而作为linux新手,又是centos用户.我当然选择yum安装. 一般情况下cento

随机推荐