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 வது விருப்பமும் எங்களிடம் உள்ளது, அதுவும் சரியாக வேலை செய்கிறது
நல்ல இடுகை, MySQL… அவை FreeBSD,… .KZKG ^ Gaara?,… (SSH- கோப்பு பரிமாற்ற நெறிமுறை), அப்பாச்சி - PHP- MySQL, PHP5 மற்றும் PhpSysInfo நீட்டிப்புகள்.
இதற்காக நான் FreeBSD ஐ நிறுவ வேண்டும், எனக்கு இப்போது நேரம் இருப்பதாக நான் நினைக்கவில்லை, நான் வேலைகளை மாற்றினேன், எனக்கு நிறைய புதிய பொறுப்புகள் உள்ளன
நான் சமீபத்தில் நோட்ஜ்களுடன் ஒரு திட்டத்திற்கு ஒத்த ஒன்றைச் செய்ய வேண்டியிருந்தது. என் விஷயத்தில் அது 250 ஆக அதிகரித்தது, அது போதும், இப்போது நான் நன்றாக இருக்கிறேன். தகவலுக்கு நன்றி
வணக்கம், /etc/mysql/my.cfg ஐ எவ்வாறு உள்ளிடுவது என்று எனக்கு உதவ முடியுமா?
எனக்கு ஒரு வி.பி.எஸ் உள்ளது, ஆனால் என்னால் புட்டியுடன் செல்ல முடியாது.
வாழ்த்துக்கள்.
விருப்பத்தின் சிக்கலைத் தீர்க்க 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
புதிதாக எந்த நேரத்திலும் டுடோரியல் அதை எவ்வாறு மாற்றுவது என்று உங்களுக்குக் கூறுகிறது