MySQL සේවාදායකය අතුරුදන් වීම: හේතු, විසඳුම් සහ WordPress විසඳුම් (සම්පූර්ණ මාර්ගෝපදේශය)

目次

1. හැඳින්වීම

දෝෂයේ සමාලෝචනය සහ වැදගත්කම

“MySQL server has gone away” දෝෂය යනු MySQL සේවාදායකයට ඇති සම්බන්ධතාවය කිසියම් හේතුවක් නිසා අවසන් වී ඇති බවයි. මෙම දෝෂ පණිවුඩය පෙන්වන්නේ, ගනුදෙනුකරු (උදාහරණයක් ලෙස යෙදුමක් හෝ වෙබ් අඩවිය) දත්ත ගබඩාවට ප්‍රවේශ වීමට උත්සාහ කළ විට, සේවාදායකයෙන් ප්‍රතිචාරයක් ලැබී නොමැති බවයි.

මෙම ලිපියේ අරමුණ

මෙම ලිපිය “MySQL server has gone away” දෝෂයේ හේතු සහ විසඳුම් පිළිබඳ විස්තරාත්මක විවරණයක් ලබා දේ. එමෙන්ම, අනාගතයේ මෙවැනි දෝෂ වලින් වැළැක්වීමට උපකාරී වන පූර්ව පියවර ගැනද අපි කතා කරමු.

විශේෂයෙන්, අපි පහත විෂයයන් පියවරෙන් පියවර විස්තර කරමු:

  1. දෝෂයේ අර්ථය සහ එය සිදුවන අවස්ථා
  2. ප්‍රධාන හේතු සහ විස්තරාත්මක විවරණය
  3. WordPress හි විශේෂිත විසඳුම්
  4. දෝෂය වැළැක්වීමට ගත යුතු පූර්ව පියවර
  5. නිතර අසන ප්‍රශ්න (FAQ) සහ ඒවායේ විසඳුම්

වාස්තුක ලෝක උදාහරණ

උදාහරණයක් ලෙස, WordPress හි නව ලිපියක් පළ කිරීමේදී මෙම දෝෂය සිදුවේ නම්, ලිපිය සුරැකීමට අසමත් විය හැක. එසේම, එක්වරම විශාල ප්‍රමාණයේ දත්ත ආයාත කිරීමට උත්සාහ කරන විට, සම්බන්ධතාවය අවසන් වීමෙන් මෙම දෝෂය පෙන්විය හැක. මෙම තත්ත්වයන් වෙබ් අඩවි පරිපාලකයින් සහ සංවර්ධකයින්ට විශේෂයෙන් අභියෝගාත්මක වේ.

පාඨකයන්ට පණිවුඩය

මෙම මාර්ගෝපදේශය ආරම්භකයන් සිට මධ්‍යම පරිශීලකයන් දක්වා සරලව තේරුම් ගත හැකි ලෙස ලියන ලද්දේය. අපි ප්‍රායෝගික උදාහරණ සහ ක්‍රියා පටිපාටියන් ඇතුළත් කර ඇති බැවින්, දෝෂය සිදුවූ විට ඔබට ඉක්මනින් ප්‍රතිචාර දැක්විය හැක. අවසානය දක්වා කියවා, ප්‍රායෝගික ගැටළු විසඳීමට අවශ්‍ය දැනුම සහ කුසලතා ලබා ගන්න.

2. දෝෂයේ අර්ථය සහ එය සිදුවන අවස්ථා

“MySQL server has gone away” යනු කුමක්ද?

“MySQL server has gone away” දෝෂය සිදුවන්නේ MySQL සේවාදායකයට ඇති සම්බන්ධතාවය අහිමි වූ විටය. මෙම පණිවුඩය පෙන්වන්නේ, ගනුදෙනුකරු (යෙදුම හෝ වෙබ් අඩවිය) දත්ත ගබඩාවට ප්‍රවේශ වීමට උත්සාහ කළ විට, සේවාදායකයෙන් ප්‍රතිචාරයක් ලැබී නොමැති බවයි.

උදාහරණ දෝෂ පණිවුඩය

ERROR 2006 (HY000): MySQL server has gone away

MySQL ගනුදෙනුකරු සේවාදායකයට තවදුරටත් සම්බන්ධ වීමට නොහැකි වූ විට මෙම දෝෂ පණිවුඩය පෙන්වයි.

එය සිදුවන ප්‍රධාන අවස්ථා

  1. සම්බන්ධතා කාලය ඉක්මවා යාම
  • දත්ත ගබඩා කාලය සීමාව කෙටි ලෙස සකසා ඇත්නම්, ක්‍රියාකාරී නොවන කාලයක් පසු සම්බන්ධතාවය අවසන් වේ.
  • මෙම ගැටළුව දිගු කාලීන ස්ක්‍රිප්ට් හෝ බැච් සැකසීමේ කාර්යයන් සමඟ සාමාන්‍යයෙන් සිදුවේ.
  1. අති විශාල විමසුමක් යැවීම
  • විශාල ප්‍රමාණයේ විමසුමක් දත්ත ගබඩාවට යැවූ විට, සේවාදායකය එය සැකසීමට නොහැකි වී දෝෂයක් ලබා දේ.
  • උදාහරණයක් ලෙස, එක්වරම විශාල ප්‍රමාණයේ දත්ත ආයාත කිරීම.
  1. අනුවැදි සම්බන්ධතා කළමනාකරණය
  • යෙදුම දත්ත ගබඩා සම්බන්ධතා නිසි ලෙස කළමනාකරණය නොකළහොත්, සම්බන්ධතාවය අහිමි විය හැක.
  • වැඩසටහන අවශ්‍ය නොවන විට සම්බන්ධතා විවෘත තබා හෝ නැවත සම්බන්ධ වීමට අසමත් වීමෙන් සම්බන්ධතා දෝෂ ඇති වීමට ඉඩ ඇත.
  1. සේවාදායකය බිඳ වැටීම හෝ නැවත ආරම්භ කිරීම
  • MySQL සේවාදායකය බිඳ වැටීම හෝ නඩත්තු/අදාල යාවත්කාලීන කිරීම සඳහා නැවත ආරම්භ කිරීම සිදුවේ නම්, මෙම දෝෂය පෙන්විය හැක.
  • සම්පත් අඩුවීම හෝ වැරදි සැකසුම් නිසා සේවාදායකය අස්ථිර වන විට විශේෂයෙන් අවධානයෙන් සිටින්න.

විශේෂිත උදාහරණ

  1. වෙබ් අඩවිය සංස්කරණය කිරීමේදී දෝෂය
  • WordPress හි, සංස්කාරකය දිගු කාලයක් විවෘත තබා නැවත සුරැකීමට උත්සාහ කළ විට කාලය ඉක්මවා යාමක් සිදු වී දෝෂය පෙන්විය හැක.
  1. දත්ත ගබඩා මාරු කිරීමේදී දෝෂය
  • විශාල පරිමාණ දත්ත ගබඩා මාරු කිරීමේදී, විමසුම් ප්‍රමාණය max_allowed_packet සීමාව ඉක්මවා ගියහොත් ක්‍රියාවලිය අසාර්ථක වේ.
  1. බැච් සැකසීමේදී දෝෂය
  • දත්ත විශ්ලේෂණය හෝ වාර්තා ජනනය සඳහා බැච් ක්‍රියාවලීන් ක්‍රියාත්මක කරන විට, දිගු කාලීන ක්‍රියාකාරකම් සම්බන්ධතාවය අවසන් කර දෝෂයක් ඇති කරයි.

3. ප්‍රධාන හේතු සහ විස්තරාත්මක විවරණය

කාලය ඉක්මවා යාමේ සැකසුම්

කාල-සම්බන්ධ දෝෂයන්ගේ සමාලෝචනය

In MySQL, there are timeout settings that automatically disconnect a connection if it is not used for a certain period of time. These settings are designed to manage server resources efficiently, but they can cause errors during long-running processes or interactive operations.

හේතුව

By default, MySQL’s wait_timeout and interactive_timeout values are 8 hours (28,800 seconds). However, in hosting environments or shared servers, these values may be set much lower. As a result, if a query takes a long time or you need to keep a connection open, the connection may be terminated.

විසඳුම

  1. වත්මන් සැකසුම් පරීක්ෂා කරන්න
    SHOW VARIABLES LIKE 'wait_timeout';
    SHOW VARIABLES LIKE 'interactive_timeout';
    
  1. සැකසුම් වෙනස් කරන්න ඔබේ my.cnf හෝ my.ini ගොනුවේ පහත සැකසුම් එක් කරන්න හෝ වෙනස් කරන්න.
    [mysqld]
    wait_timeout=28800
    interactive_timeout=28800
    
  1. සේවාදායකය නැවත ආරම්භ කරන්න
    sudo systemctl restart mysql
    
  1. සැකසුම් වෙනස් කිරීමෙන් පසු පරීක්ෂා කරන්න
    SHOW VARIABLES LIKE 'wait_timeout';
    

දෝෂ ලොග් පරීක්ෂා කරන්න

tail -f /var/log/mysql/error.log

විමසුම ඉතා විශාලයි

විශාල විමසුම් මගින් ඇතිවන දෝෂයන්ගේ සමාලෝචනය

MySQL එකට එක්වරක් සැකසිය හැකි පැකට් ප්‍රමාණය (දත්ත ප්‍රමාණය) සීමාවක් ඇත. ඔබ මෙම සීමාව ඉක්මවන විමසුමක් යැවීමට උත්සාහ කළහොත්, දෝෂයක් සිදුවේ. මෙය විශාල දත්ත ආයාත කිරීමේදී හෝ විශාල පරිමාණ යාවත්කාලීන විමසුම් ක්‍රියාත්මක කිරීමේදී විශේෂයෙන් පොදු වේ.

හේතුව

පෙරනිමි max_allowed_packet ප්‍රමාණය සාමාන්‍යයෙන් 16MB ලෙස සකසා ඇත. මෙයට වඩා විශාල විමසුම් සැකසීමට නොහැක.

විසඳුම

  1. වත්මන් සැකසුම පරීක්ෂා කරන්න
    SHOW VARIABLES LIKE 'max_allowed_packet';
    
  1. සැකසුම වෙනස් කරන්න ඔබේ my.cnf හෝ my.ini ගොනුවේ පහත සැකසුම එක් කරන්න හෝ වෙනස් කරන්න.
    [mysqld]
    max_allowed_packet=64M
    
  1. සේවාදායකය නැවත ආරම්භ කරන්න
    sudo systemctl restart mysql
    
  1. සැකසුම් වෙනස් කිරීමෙන් පසු පරීක්ෂා කරන්න
    SHOW VARIABLES LIKE 'max_allowed_packet';
    

විමසුම් සුමට කිරීමේ ප්‍රායෝගික උදාහරණය

පහත උදාහරණයේ, විමසුම කෙසේ ක්‍රියාත්මක වනදැයි විශ්ලේෂණය කිරීම සඳහා EXPLAIN භාවිතා කර ඇත.

EXPLAIN SELECT * FROM users WHERE status = 'active';

විමසුම් වෙන් කිරීමෙන් විසඳුම

විශාල දත්ත කට්ටල ආයාත කිරීම හෝ යාවත්කාලීන කිරීමේදී, විමසුම් කුඩා කොටස් වලට වෙන් කිරීමෙන් දෝෂ වලින් වැළැක්විය හැක.

4. WordPress හි විසඳුම්

WordPress පරිසරයක දෝෂය සිදුවීමේ උදාහරණය

WordPress යනු දත්ත ගබඩාව බහුලව භාවිතා කරන CMS (අන්තර්ගත කළමනාකරණ පද්ධතිය) වේ. “MySQL server has gone away” දෝෂය ලිපි සුරකින්න හෝ යාවත්කාලීන කරන්න, හෝ විශාල දත්ත කට්ටල ආයාත කිරීමේදී සිදුවිය හැක. මෙහිදී, WordPress පරිසරයක මෙම දෝෂය විසඳීමට විශේෂිත ක්‍රම විස්තර කරමු.

wp-config.php හි සැකසුම් වෙනස් කරන්න

මතක සීමාව වැඩි කරන්න

WordPress මතකය ප්‍රමාණවත් නොවීම නිසා මෙම දෝෂය සිදුවිය හැක. එවැනි අවස්ථාවක, මතක සීමාව වැඩි කිරීමෙන් එය විසඳිය හැක.

පියවර

  1. WordPress මූලික නාමාවලියේ ඇති wp-config.php ගොනුව විවෘත කරන්න.
  2. පහත කේතය එක් කරන්න හෝ සංස්කරණය කරන්න.
    define('WP_MEMORY_LIMIT', '256M');
    define('WP_MAX_MEMORY_LIMIT', '512M');
    

සැකසුම් විස්තරය

  • WP_MEMORY_LIMIT : සාමාන්‍ය මෙහෙයුම් සඳහා ලබා ගත හැකි මතක ප්‍රමාණය නිරූපණය කරයි.
  • WP_MAX_MEMORY_LIMIT : පසුබැසි ක්‍රියාවලීන් සහ අනෙකුත් බර වැඩ සඳහා උපලබ්ධිය ඇති උපරිම මතක ප්‍රමාණය නිරූපණය කරයි.

සැකසුම තහවුරු කිරීමේ ක්‍රමය

ඔබට “Tools” → “Site Health” යටතේ පරිපාලක පුවරුවෙන් මතක භාවිතය පරීක්ෂා කළ හැක.

ප්ලගීන භාවිතයෙන් සුමට කිරීම

WP-Optimize සමඟ දත්ත ගබඩා සුමට කිරීම

WP-Optimize යනු දත්ත ගබඩාවේ අනිවාර්ය නොවන දත්ත ඉවත් කර කාර්ය සාධනය වැඩි කරන ප්ලගීනයකි.

ස්ථාපන පියවර

  1. WordPress පරිපාලක පුවරුවෙන් “Plugins” → “Add New” ක්ලික් කරන්න.
  2. “WP-Optimize” සෙවීමෙන්, එය ස්ථාපනය කර සක්‍රිය කරන්න.

සුමට කිරීම ක්‍රියාත්මක කිරීමේ පියවර

  1. ප්ලග්ඉන් මෙනුවෙන් “Database” තෝරන්න.
  2. “Run all selected optimizations” සලකුණු කර “Run all selected optimizations” බොත්තම ක්ලික් කරන්න.

ප්‍රතිලාභ

  • දත්ත ගබඩාවේ ප්‍රමාණය අඩු වීම.
  • අවශ්‍ය නොවන දත්ත සහ පළ කිරීමේ සංස්කරණ ඉවත් කිරීමෙන් වේගය වැඩි වීම.

Query Monitor සමඟ විමසුම් විශ්ලේෂණය

Query Monitor යනු දත්ත ගබඩා විමසුම් කාර්ය සාධනය සහ දෝෂ විශ්ලේෂණය කළ හැකි ප්ලග්ඉන් එකකි.

ස්ථාපන පියවර

  1. Plugins මෙනුවෙන් “Add New” තෝරන්න.
  2. “Query Monitor” සෙවීම, ස්ථාපනය කිරීම, සහ සක්‍රිය කිරීම.

විමසුම් පරීක්ෂා කිරීමේ ක්‍රමය

  1. පරිපාලක තීරුවේ “Query Monitor” ක්ලික් කරන්න.
  2. ක්‍රියාත්මක වූ විමසුම් ලැයිස්තුව, ඒවායේ ක්‍රියාකාලය, සහ ඕනෑම දෝෂ පණිවුඩ පරීක්ෂා කරන්න.

උදාහරණය

ප්‍රශ්නකාරී විමසුමක් උදාහරණයක්:

SELECT * FROM wp_posts WHERE post_status = 'publish';

මෙම විමසුම අධික ක්‍රියාකාලයක් ගනී නම්, ඉන්ඩෙක්ස් එකතු කිරීම හෝ WHERE කොටස අනුකූල කිරීම ගැන සිතන්න.

SQL සැකසුම් සකස් කිරීමෙන් සම්බන්ධතා අස්ථානගත වීම වැලැක්වීම

max_allowed_packet සැකසුම වෙනස් කිරීම

දෝෂය විශාල දත්ත යැවීම නිසා සිදුවේ නම්, max_allowed_packet සැකසුම වැඩි කිරීමට අවශ්‍ය වේ.

පියවර

  1. සේවාදායකයේ my.cnf හෝ my.ini ගොනුව සංස්කරණය කරන්න.
  2. පහත කේතය එකතු කරන්න හෝ වෙනස් කරන්න.
    [mysqld]
    max_allowed_packet=64M
    

සේවාදායකය නැවත ආරම්භ කිරීම

sudo systemctl restart mysql

සැකසුම තහවුරු කිරීම

අගය තහවුරු කිරීමට පහත විධානය භාවිතා කරන්න.

SHOW VARIABLES LIKE 'max_allowed_packet';

පරීක්ෂණ පියවර සහ දෝෂ තහවුරු කිරීම

සම්බන්ධතා තහවුරු කිරීමේ පරීක්ෂාව

දත්ත ගබඩා සම්බන්ධතාව පරීක්ෂා කර ඔබගේ සැකසුම් වෙනස්කම් යෙදුන බව තහවුරු කරන්න.

mysql -u root -p
SHOW VARIABLES LIKE 'wait_timeout';
SHOW VARIABLES LIKE 'max_allowed_packet';

උදාහරණය: ප්ලග්ඉන් එකක් මඟින් විමසුම් පරීක්ෂා කිරීම

පහත විමසුම ක්‍රියාත්මක කර දෝෂය සිදුවේදැයි තහවුරු කරන්න.

SELECT * FROM wp_options WHERE option_name = 'siteurl';

5. ප්‍රතිරෝධක ක්‍රියාමාර්ග

නැවත සිදුවීම වැලැක්වීම සහ ස්ථාවර ක්‍රියාකාරිත්වය තහවුරු කිරීම

“MySQL server has gone away” දෝෂය එක් වරක් විසඳා පසුද පවා නැවත සිදුවිය හැක. එබැවින්, පද්ධතියේ ස්ථාවර ක්‍රියාකාරිත්වය රැක ගැනීමට නිතර නඩත්තු සහ සුදානම් කිරීම කිරීම අත්‍යවශ්‍ය වේ. මෙම කොටසේ, දෝෂය සිදුවීමට පෙර එය වැලැක්වීමට ප්‍රායෝගික ප්‍රතිරෝධක ක්‍රියාමාර්ග හඳුන්වා දෙමු.

නිතර නඩත්තු සහ උපස්ථාපන

දත්ත ගබඩා නඩත්තු

දත්ත ගබඩාව කාලයත් සමඟ භාවිතා කරන විට, කොටස් වෙන්වීම වැඩිවී කාර්ය සාධනය අඩුවේ. නිතර නඩත්තු කිරීමෙන් සුදුසු තත්ත්වය රැකගත හැක.

ක්‍රියාවලිය:

  1. අවශ්‍ය නොවන දත්ත ඉවත් කරන්න
    DELETE FROM wp_posts WHERE post_status = 'auto-draft';
    
  1. දත්ත ගබඩාව සුදානම් කරන්න
    OPTIMIZE TABLE wp_posts;
    OPTIMIZE TABLE wp_options;
    
  1. ඉන්ඩෙක්ස් නැවත ගොඩනඟන්න
    ALTER TABLE wp_posts ENGINE=InnoDB;
    

උපස්ථාපන වැදගත්කම

දෝෂ සිදුවීමේදී දත්ත අහිමි වීම වැලැක්වීමට නිතර උපස්ථාපන ස්වයංක්‍රීය කරන්න.

උදාහරණ ප්ලග්ඉන්:

  • UpdraftPlus: ස්වයංක්‍රීය උපස්ථාපන සහ වලාකුළු ගබඩා සහාය.
  • All-in-One WP Migration: දත්ත ගබඩා සහ ගොනු සම්පූර්ණ උපස්ථාපනය.

විමසුම් සුදානම් කිරීම සහ පූර්ණභාරය අඩු කිරීම

අවශ්‍ය නොවන විමසුම් අඩු කිරීම

සංකීර්ණ සහ දිගු කාලීන විමසුම් සේවාදායක පූර්ණභාරය වැඩි කරයි. පහත ක්‍රම භාවිතා කර විමසුම් සුදානම් කරන්න.

සුදානම් පියවර:

  1. විමසුම් විශ්ලේෂණය කරන්න
    EXPLAIN SELECT * FROM wp_posts WHERE post_status = 'publish';
    
  1. ඉන්ඩෙක්ස් එකතු කරන්න
    ALTER TABLE wp_posts ADD INDEX idx_post_status (post_status);
    
  1. විශාල දත්ත කට්ටලයන් කුඩා කට්ටල වලට බෙදා සැකසීම
    INSERT INTO large_table VALUES (1, 'data') LIMIT 1000;
    

උදාහරණ ප්ලග්ඉන්:

  • WP-Optimize: අවශ්‍ය නොවන සංස්කරණ සහ දත්ත ස්වයංක්‍රීයව ඉවත් කරයි.
  • Query Monitor: මන්දගාමී විමසුම් හඳුනාගෙන විශ්ලේෂණය කරයි.

සේවාදායක සැකසුම් නිරීක්ෂණය සහ සකස් කිරීම

සම්බන්ධතා කළමනාකරණය වැඩිදියුණු කිරීම

සේවාදායක සැකසුම් නිරීක්ෂණය කර අවශ්‍ය පරිදි සකස් කරන්න.

නිරීක්ෂණ මෙවලම්:

  • phpMyAdmin: ප්‍රශ්න සහ වින්‍යාස තත්ත්වය පහසුවෙන් පරීක්ෂා කරන්න.
  • MySQL Workbench: සේවාදායක තත්ත්වය සහ ප්‍රශ්න කාර්ය සාධනය විශ්ලේෂණය කරන්න.

Regular Performance Monitoring:

SHOW STATUS LIKE 'Connections';
SHOW STATUS LIKE 'Threads_running';
SHOW STATUS LIKE 'Slow_queries';

Example Server Configuration Adjustments:

[mysqld]
wait_timeout=28800
interactive_timeout=28800
max_allowed_packet=64M

Utilizing Caching Features

Reduce Load by Introducing Caching

කැෂ් කිරීම භාවිතා කිරීමෙන් දත්ත ගබඩා ප්‍රවේශ ගණන අඩු කරයි සහ සේවාදායක භාරය පහළ කරයි.

Example Plugins:

  • WP Super Cache : ස්ථාවර HTML කැෂ් කිරීම මගින් වේගය වැඩි කරයි.
  • W3 Total Cache : දත්ත ගබඩා ප්‍රශ්න කැෂ් කිරීමේ ක්‍රියාකාරිත්වය ඇතුළත් කරයි.

Example Configuration:

  1. පිටු කැෂ් කිරීම සක්‍රිය කරන්න.
  2. දත්ත ගබඩා ප්‍රශ්න කැෂ් කිරීම සක්‍රිය කරන්න.
  3. ඩයිනමික් දත්ත ගබඩා කිරීම සඳහා වස්තු කැෂ් කිරීම භාවිතා කරන්න.

Regular Error Log Review

Detect Early Signs of Issues Through Log Monitoring

සේවාදායක සහ දෝෂ ලොග් නිතර පරීක්ෂා කිරීමෙන් සිදුවිය හැකි ගැටළු වල මුල් අනතුරු සංඥා හඳුනා ගත හැක.

Procedure:

tail -f /var/log/mysql/error.log

When Abnormalities Are Detected:

  • නවතම වින්‍යාස වෙනස්කම් සමාලෝචනය කරන්න.
  • සම්පත් අඩු නම්, සේවාදායක සම්පත් උත්සාහ කිරීම ගැන සිතන්න.

Summary

මෙම පූර්ව පියවරයන් ක්‍රියාත්මක කිරීමෙන්, ඔබට “MySQL server has gone away” දෝෂය ප්‍රතිපක්ෂව වැළැක්වීමට සහ ස්ථාවර සේවාදායක ක්‍රියාකාරිත්වය රැක ගැනීමට හැකිය. විශේෂයෙන්, නිතර නඩත්තු කිරීම සහ නිරීක්ෂණ මෙවලම් භාවිතය ගැටළු මුල් හඳුනා ගැනීමට සහ වේගවත් ප්‍රතිචාර ලබා ගැනීමට ඉතා ප්‍රයෝජනවත් වේ.

6. FAQ Section

Frequently Asked Questions and Solutions

මෙම කොටස “MySQL server has gone away” දෝෂයට සම්බන්ධ නිතර අසන ප්‍රශ්න සහ ඒවායේ ප්‍රායෝගික විසඳුම් හඳුන්වා දෙයි. එය පෙර කොටස් සපෝෂණය කරමින් ප්‍රයෝජනවත් ගැටළු විසඳුම් තොරතුරු ලබා දෙයි.

Q1: The error persists even after changing server settings. What should I do?

Possible Causes:

  • වින්‍යාස වෙනස්කම් යෙදුනේ නැත.
  • සේවාදායකය නැවත ආරම්භ කර නැත.
  • වින්‍යාස ගොනුවේ අක්ෂර දෝෂයක් හෝ වැරදි ඇත.

Solutions:

  1. වින්‍යාස ගොනුව නැවත පරීක්ෂා කරන්න:
    sudo nano /etc/mysql/my.cnf
    

or

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

වින්‍යාස අගයන් තහවුරු කරන්න.

  1. අගයන් ඔබේ වෙනස්කම් පෙන්වන්නේදැයි පරීක්ෂා කරන්න:
    SHOW VARIABLES LIKE 'wait_timeout';
    SHOW VARIABLES LIKE 'max_allowed_packet';
    
  1. නැවත ආරම්භ කිරීමෙන් පසු, දෝෂය විසඳා තිබේදැයි තහවුරු කරන්න:
    sudo systemctl restart mysql
    

Q2: Could a WordPress plugin be causing the error?

Possible Causes:

  • ප්ලගීනයක් මගින් අධික ප්‍රශ්න ජනනය හෝ මතක භාවිතය.
  • අනුකූල නොවන ප්ලගීන භාවිතය.

Solutions:

  1. ප්ලගීන අක්‍රිය කරන්න: WordPress පුවරුවේ “Plugins” → “Installed Plugins” විවෘත කර සියලු ප්ලගීන අක්‍රිය කරන්න.
  2. ප්ලගීන එකින් එක සක්‍රිය කරන්න: එක් එක් ප්ලගීනය සක්‍රිය කර දෝෂය නැවත පෙනේදැයි පරීක්ෂා කරන්න.
  3. සුදුසුකම් ප්ලගීන භාවිතා කරන්න: අවශ්‍ය නොවන දත්ත ඉවත් කර දත්ත ගබඩා සුදුසුකම් කරමින් භාරය අඩු කරන්න.
  • WP-Optimize : දත්ත ගබඩා පිරිසිදු කිරීම සඳහා.
  • Query Monitor : මන්දගාමී හෝ ගැටළු ඇති ප්‍රශ්න හඳුනා ගැනීමට.

Q3: How should I test after changing settings?

Possible Causes:

  • වින්‍යාස වෙනස්කම් නිසි ලෙස යෙදුනේ නැත.
  • ප්‍රශ්න ක්‍රියාත්මක කිරීමේ ගැටළු නිසි ලෙස හඳුනාගෙන නැත.

Solutions:

  1. Connection verification test:
    mysql -u root -p
    SHOW VARIABLES LIKE 'wait_timeout';
    SHOW VARIABLES LIKE 'max_allowed_packet';
    

අගයන් අපේක්ෂා කරන පරිදි ගැලපේදැයි තහවුරු කරන්න.

  1. Query execution test: Run a simple query and verify it executes successfully.
    SELECT * FROM wp_options WHERE option_name = 'siteurl';
    
  1. Log monitoring: Monitor logs in real time when errors occur.
    tail -f /var/log/mysql/error.log
    

Q4: I get the error when importing large amounts of data. How can I fix it?

සම්භවිත හේතු:

  • විමසුම් ප්‍රමාණය max_allowed_packet සීමාව ඉක්මවයි.
  • ආයාත ක්‍රියාවලිය කාලය ඉක්මවා යයි.

විසඳුම්:

  1. පැකට් ප්‍රමාණය වැඩි කරන්න: වින්‍යාස ගොනුවේ පහත සඳහන් එකතු කරන්න හෝ වෙනස් කරන්න.
    [mysqld]
    max_allowed_packet=64M
    

සේවාදායකය නැවත ආරම්භ කර වෙනස්කම් ක්‍රියාත්මක කරන්න.

  1. ආයාතය වෙන් කරන්න: විශාල දත්ත එකවර සැකසීම වෙනුවට, ඒවා කුඩා කොටස් වලට බෙදන්න.
  2. ලොග් නිරීක්ෂණය කර දෝෂ පරීක්ෂා කරන්න:
    tail -f /var/log/mysql/error.log
    

Q5: MySQL සේවාදායකය නිතර බිඳේ. මට මොනවද කළ යුතුද?

සම්භවිත හේතු:

  • සම්පත් අඩු වීම (CPU, මතකය).
  • වින්‍යාස අගයන් සුදුසු ලෙස සකස් කර නොමැත.
  • ප්ලගීන හෝ විමසුම් වලින් වැඩි බර.

විසඳුම්:

  1. සේවාදායක සම්පත් පරීක්ෂා කරන්න:
    free -m
    top
    

සම්පත් අඩු නම්, සේවාදායකය උත්සාහ කිරීම හෝ සුදුසු කිරීම ගැන සිතන්න.

  1. වින්‍යාසය සුදුසු කරගන්න:
    [mysqld]
    innodb_buffer_pool_size=1G
    thread_cache_size=8
    

මතකය සහ ත්‍රෙඩ් කළමනාකරණ සැකසුම් සකස් කරන්න.

  1. නිරීක්ෂණ මෙවලම් හඳුන්වා දෙන්න: * phpMyAdmin හෝ MySQL Workbench භාවිතා කර සේවාදායක බර දර්ශනය කරන්න. * අනතුරු ඇඟවීම් සැකසුම් සමඟ රියල්-ටයිම් නිරීක්ෂණ මෙවලම් ක්‍රියාත්මක කරන්න.

7. නිගමනය

ලිපියේ සාරාංශය

මෙම ලිපිය “MySQL සේවාදායකය ගොස් ගියේ” දෝෂය සඳහා හේතු සහ විසඳුම් පිළිබඳ විස්තරාත්මක විස්තරයක්, ප්‍රායෝගික ක්‍රියාමාර්ග සහ වින්‍යාස උදාහරණ සමඟ ලබා දී ඇත. සේවාදායක සම්බන්ධතා අහිමි වීම හෝ විමසුම් ප්‍රමාණ සීමා වැනි විවිධ හේතු නිසා මෙම දෝෂය සිදුවිය හැක. හොඳින් තේරුම්ගෙන විසඳුම් ක්‍රියාත්මක කිරීමෙන්, ඔබට මෙම ගැටලුව විසඳා තවත් සිදුවීම වැළැක්විය හැක.

දෝෂය විසඳීමට පියවර

1. දෝෂයේ අර්ථය සහ සිදුවීම තේරුම් ගැනීම

  • MySQL සේවාදායකයට සම්බන්ධතාවය අහිමි වූ විට මෙම දෝෂය සිදුවන බව තහවුරු කරන්න.
  • කාලය ඉක්මවා යෑම සහ විශාල විමසුම් ප්‍රධාන හේතු ලෙස හඳුනා ගන්න.

2. වින්‍යාස වෙනස්කම් මඟින් ප්‍රධාන හේතු සලසා ගැනීම

  • wait_timeout සහ max_allowed_packet වැනි සැකසුම් සකස් කර සේවාදායක පරිසරය සුදුසු කරගන්න.
  • වෙනස්කම් කළ පසු සේවාදායකය නැවත ආරම්භ කර, ඒවා ක්‍රියාත්මක වී ඇතිදැයි පරීක්ෂා කරන්න.

3. WordPress පරිසරයේ විසඳුම් ක්‍රියාත්මක කිරීම

  • wp-config.php හි මතක සැකසුම් සුදුසු කරගන්න.
  • පේළි (WP-Optimize සහ Query Monitor) භාවිතා කර දත්ත ගබඩාව සුදුසු කර විමසුම් නිරීක්ෂණය කරන්න.

4. ප්‍රතිරෝධක පියවර ගන්න

  • නිතර නඩත්තු සහ බැකප් ස්වයංක්‍රීය කරන්න.
  • විමසුම් සුදුසු කර සහ කෑෂ් ක්‍රියාත්මක කර බර අඩු කරන්න.
  • ලොග් නිරීක්ෂණ මෙවලම් භාවිතා කර ගැටළු පෙරදැරි හඳුනා ප්‍රතිචාර දක්වන්න.

5. ප්‍රශ්න-පිළිතුරු (FAQ) කොටස භාවිතා කර ගැටළු විසඳීම

  • වින්‍යාස දෝෂ සහ සම්පත් හිඟය සඳහා සැබෑ ලෝක උදාහරණ සහ ප්‍රායෝගික විසඳුම් ලබා දේ.

ප්‍රධාන කරුණු සහ අවධානම්

  1. සැකසුම් වෙනස් කිරීමෙන් පසු සැමවිටම පරීක්ෂා කරන්න * සැකසුම් නිවැරදිව ක්‍රියාත්මක නොවන්නේ නම්, දෝෂය නැවත පැන නැගිය හැක. පරීක්ෂණ පියවරයන් කාරුණිකව අනුගමනය කරන්න.

  2. දත්ත ගබඩාව නිරන්තරයෙන් නිරීක්ෂණය කරන්න * විමසුම් ක්‍රියාත්මක වේගය සහ සේවාදායක බර නිතර පරීක්ෂා කර අසාමාන්‍යතා සොයා බලන්න.

  3. ප්‍රතිරෝධක නඩත්තු ප්‍රමුඛ කරගන්න * නිතර බැකප් කර කෑෂ් සුදුසු කර පද්ධති බර අඩු කරන්න.

  4. ප්ලගීන් සහ තේමා අනුකූලතාව පරීක්ෂා කරන්න * WordPress යාවත්කාලීන කිරීමෙන් පසු, ප්ලගීන් සහ තේමා අනුකූලතාව තහවුරු කරන්න.

අවසාන උපදෙස්

“MySQL සේවාදායකය ගොස් ගියේ” දෝෂය නිවැරදි සේවාදායක වින්‍යාස, විමසුම් සුදුසු කිරීම සහ WordPress පරිසරය වර්ධනය කිරීමෙන් ප්‍රභලව විසඳිය හැක. එහෙත්, මූලික හේතුව හඳුනාගෙන ප්‍රතිරෝධක පියවර ගන්නාම අතිශය වැදගත් පියවරයි.

දෝෂ සිදුවන විට ඉක්මනින් ප්‍රතිචාර දක්වන්න සහ ස්ථාවර දත්ත ගබඩා පරිසරයක් පවත්වා ගැනීමට මෙම මාර්ගෝපදේශය භාවිතා කරන්න.

අතිරේක සම්පත්