国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页数据库类MySQL → mysql数据库连接过多的错误,可能的原因分析及解决办法

mysql数据库连接过多的错误,可能的原因分析及解决办法

我要评论 2011/05/17 14:50:45 来源:国语自产精品视频在线看 编辑:downcc.com [ ] 评论:0 点击:199次

   系统不能连接【néng lián jiē】数【shù】🚽据库,关键要看两个数据【shù jù】📜: 

    1、数据库【shù jù kù】📓系统允许的最大【de zuì dà】📟可连接数【lián jiē shù】🚽max_connections。这个参🕵数【shù】是可以设置【yǐ shè zhì】📇的【de】🛰。如果【rú guǒ】🐕不设置【bú shè zhì】📇,默认是100。最大【zuì dà】是16384。 

    2、数据库【shù jù kù】📓当前的【de】🛰连接线【lián jiē xiàn】🏍程【chéng】🍠数【shù】threads_connected。这是动【zhè shì dòng】态变化的【de】🛰。 
 
    查看🦉max_connections、max_connections的【de】办法🔻见后。 


    如果【rú guǒ】🐕 threads_connected == max_connections 时🥅,数据库【shù jù kù】📓系统就【xì tǒng jiù】不能提供更多【gòng gèng duō】🚇的【de】🛰连接数【lián jiē shù】🚽了,这时🥅,如果【rú guǒ】程【chéng】🌃序还想新建连接线【lián jiē xiàn】🏍程【chéng】🍠,数据库【shù jù kù】📓系统就【xì tǒng jiù】会拒绝,如果【rú guǒ】程【chéng】🌃序没做💖太多的【de】🛰错误处😩理,就会出【jiù huì chū】现类似强坛的【de】🎄报错信【bào cuò xìn】息。 

    因为创⚓建和销毁数据库【shù jù kù】📓的【de】🛰连接【lián jiē】,都会消【dōu huì xiāo】耗系统【hào xì tǒng】🦏的【de】🛰资源【zī yuán】。而且为了避免【le bì miǎn】在同一【zài tóng yī】时🥅间同时🥅打开过多的【guò duō de】🛰连接线【lián jiē xiàn】🏍程【chéng】🍠,现在编程【chéng】🍠一般都使用🏏所谓数【suǒ wèi shù】据库📓连接池【lián jiē chí】技【jì】😴术【shù】。 

    但数据库【shù jù kù】📓连接池【lián jiē chí】技【jì】😴术【shù】,并不能避免程【chéng】🍠序错误🚏导致连【dǎo zhì lián】👇接资源【zī yuán】消耗殆📮尽【jìn】。 

    这种情况通常【kuàng tōng cháng】🌬发生在🚝程【chéng】🍠序未能【xù wèi néng】及时📶释放数【shì fàng shù】据库📓连接资【lián jiē zī】源或其【yuán huò qí】他原因造成数据【shù jù】💜库连接【lián jiē】🎷资源【zī yuán】不能释放🎿,但强坛🕢系统估【xì tǒng gū】计不会🔙发生这种低级的【de】🛰编程【chéng】🍠错误。 

    该错误⏱的【de】🛰简便的【de】检查【jiǎn chá】📫办法是,在刷新强坛页📣面时🥅,不断监👼视【shì】threads_connected的【de】🛰变化。如果【rú guǒ】🐕max_connections足够大⛔,而 threads_connected值不断增加以至达到max_connections,那么【nà me】,就应该检查程【jiǎn chá chéng】🍠序了。当然,如果【rú guǒ】采🚂用数据【yòng shù jù】库📓连接池【lián jiē chí】技【jì】😴术【shù】, threads_connected增长到【zēng zhǎng dào】数据库【shù jù kù】📓连接池【lián jiē chí】的最大【de zuì dà】📟连接线【lián jiē xiàn】🏍程【chéng】数【shù】时🔷,就不再【jiù bú zài】增长了【zēng zhǎng le】。 

    从强坛【cóng qiáng tán】出错的【de】🔵情况看,更大的【gèng dà de】🛰可能性是数据【shì shù jù】🎥库系统🤾没能进【méi néng jìn】行适当🧟地配置。下面提出一点建议。供参考 

    让你们的【de】工程【chéng】📋师把MySQL的最大【de zuì dà】📟允许连👟接数【shù】🚽从默认的【de】🎤100调成32000。这就不【zhè jiù bú】会老出【huì lǎo chū】现连接【lián jiē】过多的【guò duō de】🛰问题了【wèn tí le】。 

    查看🦉max_connections 

    进入MySQL,用命令【yòng mìng lìng】:show variables 

    查看🦉数据库【shù jù kù】📓最大【zuì dà】可连接数【lián jiē shù】🚽的【de】🛰变量值:max_connections 

    查看🦉threads_connected 

    进入MySQL,用命令【yòng mìng lìng】:show status 

    查看🦉当前活【dāng qián huó】动的【de】🛰连接线【lián jiē xiàn】🏍程【chéng】🍠变量值:threads_connected 


    设置📇max_connections 

    设置办⚾法是在【fǎ shì zài】🤛my.cnf文件中【wén jiàn zhōng】,添加下🌙面的【miàn de】🛰最后红【zuì hòu hóng】色的【de】🛰一行: 

-------------------------------------------------------------------------------- 

[mysqld] 
port=3306 
#socket=MySQL 
skip-locking 
set-variable = key_buffer=16K 
set-variable = max_allowed_packet=1M 
set-variable = thread_stack=64K 
set-variable = table_cache=4 
set-variable = sort_buffer=64K 
set-variable = net_buffer_length=2K 
set-variable = max_connections=32000 


-------------------------------------------------------------------------------- 

    修改完毕后【bì hòu】,重启🚰MySQL即可。当然,为了确保设置【bǎo shè zhì】📇正确【zhèng què】,应该查看🦉一下max_connections。 

    注意📰: 

    1、虽然这里写的【de】🎡32000。但实际【dàn shí jì】MySQL服务器💉允许的最大【de zuì dà】📟连接数【lián jiē shù】🚽16384; 

    2、除📳max_connections外🍷,上述其🐤他配置应该根【yīng gāi gēn】据你们【jù nǐ men】系统自【xì tǒng zì】😀身需要🗣进行配【jìn háng pèi】🚶置,不必拘🚿泥【ní】; 

    3、添加了最大允许连接【xǔ lián jiē】🕕数,对系统消耗增加不大😉。 

    4、如果你【rú guǒ nǐ】的【de】mysql用的【de】是♒my.ini作配置🚽文件,设置类【shè zhì lèi】似【sì】,但设置的【de】格式🈲要稍作变通【biàn tōng】🎇。

关键词:mysql,数据库

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 欢迎喜欢
  • 0 白痴
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙视