位置: IT常识 - 正文

mysql查看最大连接数和修改mysql数据库最大连接数方法(MySQL查看最大连接数)

编辑:rootadmin

推荐整理分享mysql查看最大连接数和修改mysql数据库最大连接数方法(MySQL查看最大连接数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql怎么查询最大值,mysql查最大连接数命令,mysql查询最大值对应的字段,mysql查看最大连接数多少,MySQL查看最大连接数,mysql怎么查询最大值,mysql查看最大连接时间,mysql查看最大连接数多少,内容如对您有帮助,希望把文章链接给更多的朋友!

文章介绍

怎么查看 MySQL最大连接数

使用 MySQL 数据库的站点,当访问连接数过多时,就会出现 "Too many connections" 的错误。出现这种错误有两种情况,一种是网站访问量实在太大,服务器已经负担不起,此时就应该考虑负载均衡或者其它减少服务器压力的办法。另一种情况就是 MySQL 的最大连接数设置得太小,当访问量稍大就出现连接过多的错误。win7下配置PHP+Apache+Mysql运行环境

MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看

mysql> show variables like 'max_connections';

此命令将得到类似以下的输出结果:

+-----------------+-------+| Variable_name | Value |+-----------------+-------+| max_connections | 2000 |+-----------------+-------+1 row in set (0.00 sec)

  要对 mysql 的最大连接数进行修改,只需要在 my.cnf 配置文件里面修改 max_connections 的值,然后重启 mysql 就行。如果 my.ini 文件中没有找到 max_connections 条目,可自行添加以下条目

max_connections = 200

修改MySQL最大连接数01方法一: 0202 0303 进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MySQL即可 0404 0505 方法二: 0606 0707 MySQL最大连接数默认是100客户端登录: 0808 0909 MySQL -uusername -ppassword 1010 1111 设置新的MySQL最大连接数为200: 1212 1313 MySQL> set GLOBAL max_connections=200 1414 1515 显示当前运行的Query: 1616 1717 MySQL> show processlist 1818 1919 显示当前状态: 2020 2121 MySQL> show status 2222 2323 退出客户端:MySQL> exit 2424 2525 查看当前MySQL最大连接数:MySQLadmin -uusername -ppassword variables 2626 2727 方法三: 2828 2929 以centos 4.4 下面的MySQL 5.0.33 手工编译版本为例说明: 3030 3131 vi /usr/local/MySQL/bin/MySQLd_safe 3232 3333 找到safe_MySQLd编辑它,找到MySQLd启动的那两行,在后面加上参数 : 3434 3535 -O max_connections=1500 3636 3737 具体一点就是下面的位置: 3838 3939 用红字特别说明: 4040 4141 then $NOHUP_NICENESS $ledir/$MySQLD 4242 $defaults --basedir=$MY_BASEDIR_VERSION 4343 --datadir=$DATADIR $USER_OPTION 4444 --pid-file=$pid_file 4545 --skip-external-locking 4646 -O max_connections=1500 4747 >> $err_log 2>&1 else 4848 eval "$NOHUP_NICENESS $ledir/$MySQLD 4949 $defaults --basedir=$MY_BASEDIR_VERSION 5050 --datadir=$DATADIR $USER_OPTION 5151 --pid-file=$pid_file 5252 --skip-external-locking $args 5353 -O max_connections=1500 >> 5454 $err_log 2>&1" 5555 5656 保存。 5757 5858 # service MySQLd restart 5959 # /usr/local/MySQL/bin/MySQLadmin -uroot -p variables 6060 6161 输入root数据库账号的密码后可看到 6262 6363 max_connections 1500 即新改动已经生效。 6464 6565 还有一种方法, 6666 6767 修改原代码: 6868 6969 解开MySQL的原代码,进入里面的sql目录修改MySQLd.cc找到下面一行: 7070 7171 {"max_connections", OPT_MAX_CONNECTIONS, 7272 "The number of simultaneous clients allowed.", (gptr*) &max_connections, 7373 (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1, 7474 0}, 7575 7676 把它改为: 7777 7878 {"max_connections", OPT_MAX_CONNECTIONS, 7979 "The number of simultaneous clients allowed.", (gptr*) &max_connections, 8080 (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1, 8181 0}, 8282 8383 存盘退出,然后./configure ;make;make install可以获得同样的效果。以上的相关内容就是对修改MySQL最大连接数的3种方法的介绍,望你能有所收获。MySQL服务器最大连接数相关知识

最近网站出现 User 数据库名称 has already more than 'max_user_connections' active connections 的报错,网站瘫痪。有必要研究下这个问题。

max_user_connections 是 MySQL 用户连接数的最大值设置,整段语句的意思是:服务器的 MySQL 的最大连接数参数设置不足。解决方法:修改 MySQL 安装目录下 my.ini 或者 my.cnf 文件内的 max_user_connections 参数的数值,重启 MySQL 服务器。

但是正常来说,MySQL默认的100个连接数是足够的。我们需要从程序上去考虑。MySQL的默认最大连接数为100(N),实际给普通用户使用只有N-1个,保留一个连接是留给超级管理员使用的,防止连接占满了不会把管理员也踢出来。很多网站在运行的时候都会出现连接数受限现象,我认为十之八九并非是网站的真实访问量太大导致连接数超标,更多是因为我们在设计网站程序的时候采用了不合理的设计架构或数据结构引起的。非正常连接超限可能原因如下(天缘即时归纳未必完整或无错讹仅供参考):

类似人数、在线时间、浏览数等统计功能与主程序数据库同属一个数据空间时就很容易出现。

复杂的动态页尤其是用户每次浏览都涉及到多数据库或多表操作时候也很容易出现。

还有就是程序设计的不合理(比如复杂运算、等待等操作放置在数据库交互行为中间进行),或者程序存在释放BUG。

计算机硬件配置太低却安装太高版、太高配置的MySQL。

未采用缓存技术。mysql查看最大连接数和修改mysql数据库最大连接数方法(MySQL查看最大连接数)

数据库未经过优化或表格设计及其复杂。

等等一些原因,都会延长数据库的数据交互时间或增加交互次数。所以,如果大家遇到这类问题,首先要考虑程序是否存在BUG导致连接释放失败,再次就是考虑优化软硬件。当然修改MySQL连接数也是软件优化的操作方法之一,希望大家都能够本着学习的态度通过研究一下自身的原因从而解决这一问题。如果实在是找不到原因,那就只好先修改连接数,暂缓定位真实原因了。

关于PHP的数据库持久连接 mysql_pconnect

PHP程序员应该都知道连接MySQL数据库可以使用mysql_pconnect(永久连接)函数,使用数据库永久连接可以提高效率,但是实际应用中数据库永久连接往往会导致出现一些问题,通常的表现就是在大访问量的网站上时常发生断断续续的无法连接数据库的情况,出现类似"Too many connections in ..."的错误提示信息,重新启动服务器又正常了,但过不了一会儿又出现同样的故障。对于这些问题的成因,恐怕就不是每个人都能说清楚的了,虽然PHP文档里有一些相关资料,但是解释的并不浅显易懂,这里我厚着脸皮试图做一个简单的讨论,所述观点不见得全都正确,欢迎大家反馈意见。

首先看看数据库永久连接的定义:永久的数据库连接是指在脚本结束运行时不关闭的连接。当收到一个永久连接的请求时。PHP 将检查是否已经存在一个(前面已经开启的)相同的永久连接。如果存在,将直接使用这个连接;如果不存在,则建立一个新的连接。所谓"相同"的连接是指用相同的用户名和密码到相同主机的连接。

PHP使用永久连接方式操作MySQL是有前提的:就是PHP必须安装为多线程或多进程Web服务器的插件或模块。最常见的形式是把PHP用作多进程Apache服务器的一个模块。对于一个多进程的服务器,其典型特征是有一个父进程和一组子进程协调运行,其中实际生成Web页面的是子进程。每当客户端向父进程提出请求时,该请求会被传递给还没有被其它的客户端请求占用的子进程。这也就是说当相同的客户端第二次向服务端提出请求时,它将有可能被一个不同的子进程来处理。在开启了一个永久连接后,所有不同子进程请求SQL服务的后继页面都能够重新使用这个已经建立的 SQL服务器连接。它使得每个子进程在其生命周期中只做一次连接操作,而非每次在处理一个页面时都要向 SQL 服务器提出连接请求。每个子进程将对服务器建立各自独立的永久连接。PHP本身并没有数据库连接池的概念,但是Apache有进程池的概念, 一个Apache子进程结束后会被放回进程池, 这也就使得用mysql_pconnect打开的的那个mysql连接资源可以不被释放,而是依附在相应的Apache子进程上保存到了进程池中。于是在下一个连接请求时它就可以被复用。一切看起来似乎都很正常,但是在Apache并发访问量大的时候,如果使用mysql_pconnect,会由于之前的Apache子进程占用的MySQL连接没有close, 很快使MySQL达到最大连接数,使得之后的请求可能得不到响应。

上面的部分文字是摘抄自PHP文档,看起来可能还是有些文绉绉的不好理解,那么我就用大白话再举一个例子来说明问题:

假设Apache配置最大连接数为1000,MySQL配置最大连接数为100,当Apache服务器接到200个并发访问的时候,其中100个涉及到数据库访问,剩下的100个不涉及数据库访问,因为这个时候还不存在可用的数据库连接,所以这里面涉及到数据库访问的100个并发会同时产生100个数据库永久连接,达到了数据库最大连接数,当这些操作没有结束的时候,任何其他的连接都无法再获得数据库连接,当这些操作结束了,相应的连接会被放入进程池,此时Apache的进程池里就有了200个空闲的子进程,其中100个是带有数据库连接的,由于Apache会为访问请求随机的挑选空闲子进程,所以你得到的子进程很可能是不包含数据库连接的那100个中的一个,而数据库连接已经达到了最大值,你也不可能成功的建立新的数据库连接,唉,你便只好不停的刷新页面,哪个时候运气好,碰巧分配到了带有数据库连接的子进程,才能正常浏览页面。如果是大访问量的网站来说,任何时候都可能存在大量的并发,所以浏览者可能就会不停的发现无法连接数据库的现象了。

或许你会说,我们把Apache和MySQL的最大连接数调成一样大不就可以了么?是的,合理的调整这个最大连接数某种程度上会避免这个问题的发生,但是Apache和MySQL的负载能力是不同的,如果按照Apache的负载能力来设置,对于MySQL来说,这个最大连接数就偏大,会产生大量的MySQL数据库永久连接,打个比方,就好像和平时代还要养活一个几百万的军队一样,其开销得不偿失;而如果按照Mysql的负载能力设置,对于Apache来说,这个最大连接数就偏小,有点杀鸡牛刀的感觉,无法发挥Apache的最大效率。

所以按照PHP手册上的介绍,只适合在并发访问不大的网站上使用数据库永久连接,但对于一个并发访问不大的网站来说,使用数据库永久连接带来的效率提高似乎没有太大的意义,从这个角度上来看,我觉得PHP中的数据库永久连接基本上是一个鸡肋的角色,如果你一定要使用数据库连接池的概念,可以尝试一下sqlrelay或者Apache本身提供的mod_dbd,说不定会有惊喜。

关于mysql_free_result和mysql_close

之前用mysql的时候一直是在用短链接,调用mysql_store_result获取一次数据之后就直接调用:

1mysql_free_result(m_result);2mysql_close(m_Database);

但是有两个问题:

当使用长连接时(即connect之后一直不close),如果最后会调用mysql_close,需不需要每次都调用mysql_free_result呢?

当mysql_close调用之后,m_result的数据是否还可以用。

先说一下结论:

必须每次调用。因为经过测试,每次mysql_store_result的指针都是不同的,可见并不是共享了同一块buf。

还是可以使用。经过valgrind扫描,只调用mysql_close的扫描结果是:1==9397== 16,468 (88 direct, 16,380 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 52==9397== at 0x40219B3: malloc (vg_replace_malloc.c:195)3==9397== by 0x8053EA2: my_malloc (in /data/home/dantezhu/appbase/application/platform/openqqcom/share/db_openright/test/test)4==9397== by 0x806D314: mysql_store_result (in /data/home/dantezhu/appbase/application/platform/openqqcom/share/db_openright/test/test)5==9397== by 0x804BB04: CMySQLCppClient::Result(st_mysql_res*&) (mysql_cpp_client.cpp:127)6==9397== by 0x804AB58: CDBOpenRight::GetUinsByApp(unsigned int, std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> >&) (db_openright.cpp:58)7==9397== by 0x8049F10: main (test.cpp:27)

免责

本文链接地址:https://www.jiuchutong.com/zhishi/310831.html 转载请保留说明!

上一篇:Python中os模块的功能介绍(python os.path模块)

下一篇:java阻塞队列的两种操作(java阻塞队列线程安全吗)

  • qq怎么展示友谊的小船(qq怎样展示好友互动标识)

    qq怎么展示友谊的小船(qq怎样展示好友互动标识)

  • 苹果手机怎么设置微信图标(苹果手机怎么设置门禁卡NFC)

    苹果手机怎么设置微信图标(苹果手机怎么设置门禁卡NFC)

  • 电脑版WPS怎么分页(电脑版wps怎么分享)

    电脑版WPS怎么分页(电脑版wps怎么分享)

  • 网易云唱歌的在哪里(网易云里唱歌)

    网易云唱歌的在哪里(网易云里唱歌)

  • 全民k歌发私信对方收不到(全民k歌发私信的是啥人)

    全民k歌发私信对方收不到(全民k歌发私信的是啥人)

  • 微信运动看不见对方了是什么原因(微信运动看不见了是不是被删好友了)

    微信运动看不见对方了是什么原因(微信运动看不见了是不是被删好友了)

  • 苹果4和4s电池通用吗

    苹果4和4s电池通用吗

  • 表格不显示数字(excel表格不显示数字)

    表格不显示数字(excel表格不显示数字)

  • soul为什么搜不到用户(soul怎么搜不到人了)

    soul为什么搜不到用户(soul怎么搜不到人了)

  • 全民k歌拉黑对方后对方来访显示吗(全民k歌拉黑对方后我访问有记录吗)

    全民k歌拉黑对方后对方来访显示吗(全民k歌拉黑对方后我访问有记录吗)

  • 手机卡在外地可以注销吗(手机卡在外地可以报停吗)

    手机卡在外地可以注销吗(手机卡在外地可以报停吗)

  • 金士顿内存条怎么看大小(金士顿内存条怎么看生产日期)

    金士顿内存条怎么看大小(金士顿内存条怎么看生产日期)

  • 小米cc9e支持无线快充吗(小米cc9e支持5gwifi)

    小米cc9e支持无线快充吗(小米cc9e支持5gwifi)

  • 三星的语音助手怎么喊(三星的语音助手叫什么bixby)

    三星的语音助手怎么喊(三星的语音助手叫什么bixby)

  • 为什么苹果手机插了卡还是无服务(为什么苹果手机无线局域网打不开)

    为什么苹果手机插了卡还是无服务(为什么苹果手机无线局域网打不开)

  • 华硕笔记本重装系统不能进入系统怎么办(华硕笔记本重装系统多少钱)

    华硕笔记本重装系统不能进入系统怎么办(华硕笔记本重装系统多少钱)

  • ipad在保修期去哪里修(ipad在保修期内)

    ipad在保修期去哪里修(ipad在保修期内)

  • 天猫怎么看第几名付款(天猫怎么知道自己是第几个下单)

    天猫怎么看第几名付款(天猫怎么知道自己是第几个下单)

  • 美团接单必须要打印机吗(美团骑手一定要接单吗)

    美团接单必须要打印机吗(美团骑手一定要接单吗)

  • 三星W20 5G电池容量多少(三星w20电池多少毫安)

    三星W20 5G电池容量多少(三星w20电池多少毫安)

  • 华为荣耀畅玩9x参数(华为荣耀畅玩9x能直连u盘吗怎么设置)

    华为荣耀畅玩9x参数(华为荣耀畅玩9x能直连u盘吗怎么设置)

  • airpods充电盒怎么定位(airpods充电盒丢了怎么找)

    airpods充电盒怎么定位(airpods充电盒丢了怎么找)

  • 内存插哪个槽(内存插哪一个)

    内存插哪个槽(内存插哪一个)

  • 腾讯视频黑屏只有声音(腾讯视频黑屏怎么回事)

    腾讯视频黑屏只有声音(腾讯视频黑屏怎么回事)

  • 数据对象的运算有哪些(数据对象的运算方法)

    数据对象的运算有哪些(数据对象的运算方法)

  • 电脑重装系统有哪些方法(电脑重装系统有危害吗)

    电脑重装系统有哪些方法(电脑重装系统有危害吗)

  • cad缩放到参照物尺寸(cad缩放到参照物尺寸缩放快捷键)

    cad缩放到参照物尺寸(cad缩放到参照物尺寸缩放快捷键)

  • 在项目开发中统计代码行数的6种方式(在项目进行过程中,一个开发人员)

    在项目开发中统计代码行数的6种方式(在项目进行过程中,一个开发人员)

  • 猿创征文|深度学习基于ResNet18网络完成图像分类(猿创部落是干什么的)

    猿创征文|深度学习基于ResNet18网络完成图像分类(猿创部落是干什么的)

  • 简易征收 抵扣进项
  • 水电费专用发票税率
  • 公司提供午餐的目的
  • 赔偿费计入费用减应收账款怎么做账
  • 进口增值税电子税单抵扣
  • 营改增税负分析测算明细表一般由谁填写
  • 政府补助应计入
  • 折旧四种方法
  • 进项已经抵扣会退回吗
  • 什么叫单项计提坏账损失
  • 小规模企业可以开电子专用发票吗
  • 详细解读财税[2014]75号文件
  • 个贷系统平账专户利息分录
  • 俱乐部会员有什么用
  • 质押贷款属于什么贷款
  • 应交税费包括了增值税吗
  • 企业会计准则财务报表本期金额和上期金额
  • 三金一费包括哪些
  • 成本计算错误如何应对
  • 职工福利费和职工薪酬的区别
  • 新版edge浏览器如何恢复设置
  • 赊销商品应收款
  • 工商年报单位缴费基数怎么算出来
  • 财务软件上线需注意什么
  • 公司收回货款会计分录
  • 新成立的公司没有社保如何投标
  • 差额增值税发票和全额增值税发票
  • IE浏览器如何取消全屏
  • 留底的进项税额记哪儿?
  • win11 build 22000.65
  • 万年青的养殖方法和注意事项盆栽
  • .msc是什么意思
  • php加密后怎么运行
  • 企业与政府所签的合同
  • 企业所得税计提会计分录怎么做
  • chatcters
  • python标准库在哪个目录
  • taskset命令详解
  • 一般纳税人无票收入怎么报增值税
  • 个体工商户城市维护建设税
  • 研发费用资本化计入什么科目
  • 金税盘税局端系统响应错误怎么解决
  • 预收账款未发货会计分录
  • 存货跌价准备怎么核算
  • 注册资本认缴出资日期是什么意思
  • 小型商贸企业
  • 销货方和供货方的区别
  • 固定资产核算应包括什么
  • 合作建房土地增值税清算案例
  • 事业单位零余额账户使用流程
  • 忘了作废的发票还能用吗
  • 一次性补缴一年社保
  • 住宿发票没有写天数
  • 企业存货借款利息怎么算
  • 保险可以税前扣除吗
  • 预缴的税款抵扣有时间限制吗
  • 财税公司工作内容
  • mysql绿色版配置
  • linux的ntp服务
  • windows软件删除
  • windows更新驱动程序需要多久
  • 要使用windows
  • Win10 Redstone 11082视频快速上手:已知bug及新变化一览
  • win7系统无线网络
  • win10自动更新win11怎么办
  • [置顶] [寒江孤叶丶的Cocos2d-x之旅_27]CocoStudio导出的LUA文件怎么使用?
  • unity控制相机
  • 3d图形学原理
  • ecmascript6教程
  • 网页javascript错误
  • vue怎样使用
  • javascript如何
  • jquery动态添加属性
  • jquery 右键菜单
  • unity提高渲染画质
  • js如何打印服务器图片
  • python列出所有文件名
  • 国家税务总局2018年61号公告
  • 系统导出数据不完整
  • 为什么国税网上申报不了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设