MySQL பிழையை எவ்வாறு சரிசெய்வது: பல இணைப்புகள்

MySQL பிழையின் அறிமுகம்: பல இணைப்புகள்

உங்களிடம் அதிக தேவை உள்ள ஒரு வலை பயன்பாடு (தளம், வலைப்பதிவு, மன்றம் போன்றவை) இருக்கும்போது, ​​அதாவது, ஏராளமான பயனர்கள் வருகை தருகிறார்கள், இது சேவையகத்தில் அதிகரித்த நுகர்வுக்கு மொழிபெயர்க்கிறது. வலை பயன்பாடு ஒரு MySQL தரவுத்தளத்தைப் பயன்படுத்துகிறது என்று சொன்னால், வினவல்கள் உண்மையில் பல (வலையின் மோசமான நிரலாக்கத்தின் காரணமாக அல்லது இணையத்தைப் பயன்படுத்தும் பல பயனர்களால்), MySQL இந்த பிழையைக் காண்பிக்கும் வாய்ப்பு உள்ளது:

mysqli_connect(): (HY000/1040): Too many connections

MySQL: அதிகமான இணைப்புகள் பிழை என்றால் என்ன?

இதன் பொருள் MySQL க்கு பல கோரிக்கைகள் வருகின்றன, அதை ஏற்றுக்கொள்ளக்கூடியதை விட, அது வரிசை அல்லது காத்திருப்பதை விட அதிகம்.

அதை எவ்வாறு தீர்ப்பது?

எளிமையானது, MySQL ஆதரிக்கும் கோரிக்கைகளின் (இணைப்புகள்) அதிகபட்ச வரம்பை நாம் அதிகரிக்க வேண்டும்.

இந்த சிக்கலை சரிசெய்ய நான் உங்களுக்கு இரண்டு விருப்பங்களை தருகிறேன்:

1. நாங்கள் /etc/mysql/my.cfg கோப்பைத் திருத்துகிறோம்:

nano /etc/mysql/my.cfg

அதில் [mysql] என்று சொல்லும் இடத்தின் கீழ் நாம் பின்வருவனவற்றை வைக்கிறோம்:

max_connections = 500 max_user_connections = 500

இது அதிகபட்ச இணைப்புகளை 100 இலிருந்து (இயல்புநிலையாக) 500 ஆக உயர்த்தும்.

நாங்கள் சேமித்து வெளியேறுகிறோம், பின்னர் நாங்கள் MySQL சேவையை மறுதொடக்கம் செய்கிறோம், அவ்வளவுதான். இந்த மாற்றம் நிரந்தரமானது.

2. இந்த சிக்கலை தீர்க்க மற்றொரு வழி அதிகபட்ச வரம்பை சமமாக மாற்றுவது, ஆனால் ஒரு MySQL வினவல் மூலம்.

முதலில் தற்போதைய வரம்பைக் காண்பிப்போம்:

mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'

இது எங்களுக்கு இதுபோன்ற ஒன்றைக் காண்பிக்கும்:

+ ----------------- + ------- + | மாறி_பெயர் | மதிப்பு | + ----------------- + ------- + | அதிகபட்ச இணைப்புகள் | 151 | + ----------------- + ------- +

வேறு வார்த்தைகளில் கூறுவதானால், தற்போதைய வரம்பு 151 இணைப்புகள், சரி, வினவலின் மூலம் அதை 500 ஆக உயர்த்துவோம்:

mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'

தயார்!

இந்த வழியில் சிக்கல் என்னவென்றால், சேவையை மறுதொடக்கம் செய்யும்போது, ​​இந்த உள்ளமைவு இழக்கப்படுகிறது.

இந்த விவரத்தை வழங்க, ஒவ்வொரு எக்ஸ் நேரமும் சரிபார்க்கும் ஒரு பாஷ் ஸ்கிரிப்டை நீங்கள் உருவாக்கலாம், அல்லது டீமனின் தொடக்க அல்லது மறுதொடக்கம் தொகுதிக்கு வரியைச் சேர்க்கலாம்

ஆனால் நான் ஏன் இந்த 2 வது விருப்பத்தை அறிய விரும்புகிறேன்? ... சரி, அதைத்தான் நான் சொன்னேன். ஆனால் ஒரு மாதத்திற்கு முன்பு ஒரு உபுண்டு சேவையகம் முறை எண் 1 ஐ புறக்கணித்தது, எனவே ... வேடிக்கையான OS இன் தீவிர நிகழ்வுகளில், இந்த 2 வது விருப்பமும் எங்களிடம் உள்ளது, அதுவும் சரியாக வேலை செய்கிறது


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   Nex அவர் கூறினார்

    நல்ல இடுகை, MySQL… அவை FreeBSD,… .KZKG ^ Gaara?,… (SSH- கோப்பு பரிமாற்ற நெறிமுறை), அப்பாச்சி - PHP- MySQL, PHP5 மற்றும் PhpSysInfo நீட்டிப்புகள்.

    1.    KZKG ^ காரா அவர் கூறினார்

      இதற்காக நான் FreeBSD ஐ நிறுவ வேண்டும், எனக்கு இப்போது நேரம் இருப்பதாக நான் நினைக்கவில்லை, நான் வேலைகளை மாற்றினேன், எனக்கு நிறைய புதிய பொறுப்புகள் உள்ளன

  2.   சவுல் அவர் கூறினார்

    நான் சமீபத்தில் நோட்ஜ்களுடன் ஒரு திட்டத்திற்கு ஒத்த ஒன்றைச் செய்ய வேண்டியிருந்தது. என் விஷயத்தில் அது 250 ஆக அதிகரித்தது, அது போதும், இப்போது நான் நன்றாக இருக்கிறேன். தகவலுக்கு நன்றி

  3.   பிரான்சிஸ்கோ அவர் கூறினார்

    வணக்கம், /etc/mysql/my.cfg ஐ எவ்வாறு உள்ளிடுவது என்று எனக்கு உதவ முடியுமா?

    எனக்கு ஒரு வி.பி.எஸ் உள்ளது, ஆனால் என்னால் புட்டியுடன் செல்ல முடியாது.

    வாழ்த்துக்கள்.

  4.   துாண்டில் அவர் கூறினார்

    விருப்பத்தின் சிக்கலைத் தீர்க்க 1.- கருத்து தெரிவித்த விருப்பம், மற்றும் சேவையகத்தை மறுதொடக்கம் செய்யும் போது மாற்றங்களை வைத்துக் கொள்ளுங்கள், கோப்பு பதிப்பின் படி திருத்தப்பட வேண்டும்:

    /////////////////////////////////////////// ///////////////////
    // உபுண்டு 16.04 இல் கோப்பகத்தை மாற்றவும் ////////////////////
    /////////////////////////////////////////// ///////////////////
    நான் /etc/mysql/mysql.conf.d/mysqld.cnf பார்த்தேன்

    /////////////////////////////////////////// ///////////////////
    // உபுண்டு 15.04 இல் கோப்பகத்தை மாற்றவும் ////////////////////
    /////////////////////////////////////////// ///////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    /////////////////////////////////////////// ///////////////////
    // நான் உபுண்டு பழைய கோப்பகத்தை மாற்றுகிறேன் ///////////////////////
    /////////////////////////////////////////// ///////////////////

    நான் /etc/mysql/my.cnf பார்த்தேன்

    /////////////////////////////////////////// ///////////////////
    // இந்த வரியை [mysqld] அல்லது [mysql] குறிச்சொல்லின் கீழ் சேர்க்கவும் //
    // பின்னர் சேவையகத்தை மறுதொடக்கம் செய்யுங்கள் //
    /////////////////////////////////////////// ///////////////////
    அதிகபட்சம்_தொடர்புகள் = 500

  5.   சினம்கொண்டுள்ளனர் அவர் கூறினார்

    புதிதாக எந்த நேரத்திலும் டுடோரியல் அதை எவ்வாறு மாற்றுவது என்று உங்களுக்குக் கூறுகிறது