ලිපි නාමාවලිය
මෙම ලිපියෙන්, MySQL දත්ත සමුදායන් තුළ MyISAM InnoDB ගබඩා එන්ජින් බවට තොග වශයෙන් පරිවර්තනය කිරීම සඳහා හොඳම භාවිතයන් අපි ගවේෂණය කරන්නෙමු.
අපි ඔබට පරිවර්තන ක්රියාවලිය හරහා පියවරෙන් පියවර මඟ පෙන්වන අතර එය කාර්යක්ෂමව සහ ආරක්ෂිතව සිදු කිරීම සහතික කිරීම සඳහා ප්රයෝජනවත් ඉඟි සහ උපක්රම සපයන්නෙමු.
ඔබ දත්ත සමුදා පරිපාලකයෙකු හෝ සංවර්ධකයෙකු වුවද, මෙම මාර්ගෝපදේශය ඔබට MyISAM සහ InnoDB අතර ඇති වෙනස්කම් තේරුම් ගැනීමට උපකාරී වනු ඇත, සහ InnoDB වෙත පරිවර්තනය කිරීම කාර්ය සාධනය ප්රශස්ත කිරීමට සහ දත්ත විශ්වසනීයත්වය වැඩි දියුණු කිරීමට ඉතා වැදගත් වන්නේ මන්ද යන්නයි.
අපගේ සවිස්තරාත්මක පියවර අනුගමනය කිරීමෙන්, ඔබට පහසුවෙන් ඔබේ MySQL දත්ත සමුදාය InnoDB ගබඩා එන්ජිම බවට පරිවර්තනය කිරීමට හැකි වනු ඇත , එමඟින් කාර්ය සාධනය වැඩිදියුණු කර දත්ත ආරක්ෂාව සහ අඛණ්ඩතාව සහතික කෙරේ.

MySQL දත්ත සමුදා පද්ධතියේ MyISAM සහ InnoDB යනු පොදු ගබඩා එන්ජින් දෙකකි. MyISAM වේගවත් වන අතර බොහෝ කියවීම් මෙහෙයුම් සහිත අවස්ථා සඳහා සුදුසු වේ.
InnoDB ගණුදෙණු, විදේශීය යතුරු සහ පේළි මට්ටමේ අගුලු දැමීම සඳහා සහය දක්වන අතර දත්ත අඛණ්ඩතාව සහ සමගාමී පාලනය අවශ්ය යෙදුම් සඳහා වඩාත් සුදුසු වේ. ඉතින්, අපට MyISAM වගු InnoDB බවට පරිවර්තනය කිරීමට අවශ්ය වූ විට අප කුමක් කළ යුතුද?
MyISAM InnoDB බවට පරිවර්තනය කරන්නේ ඇයි?
පළමුව, අපි මෙම මාරුව කරන්නේ මන්දැයි කතා කරමු.
MyISAM හොඳ කාර්ය සාධනයක් ඇතත්, දත්ත ආරක්ෂාව සහ සමගාමී සැකසුම් වල අඩුපාඩු තිබේ.
InnoDB දත්ත අනුකූලතාව සහතික කිරීමට සහ ඉහළ සමගාමී තත්ත්වයන් හැසිරවීමට හැකි ගනුදෙනු සහාය සපයයි.
1. දත්ත අඛණ්ඩතාව: InnoDB ගනුදෙනු සඳහා සහය දක්වයි, එමඟින් ආපසු හැරවීමේ මෙහෙයුම් සඳහා ඉඩ ලබා දෙන අතර දත්ත අනුකූලතාව සහතික කරයි.
2. සමගාමී පාලනය: InnoDB ඉහළ සමගාමී යෙදුම් සඳහා සුදුසු පේළි මට්ටමේ අගුලු දැමීම භාවිතා කරයි.
3. විදේශීය යතුරු සහාය: InnoDB විදේශීය යතුරු සඳහා සහය දක්වයි, එමඟින් දත්තවල යොමු අඛණ්ඩතාව සහතික කළ හැකිය.
MyISAM InnoDB බවට පරිවර්තනය කිරීමේ ක්රමය
සියලුම වගු සඳහා පරිවර්තන ප්රකාශයන් උත්පාදනය කිරීමට අපට එක් SQL ප්රකාශයක් භාවිතා කළ හැකි අතර පසුව ඒවා සියල්ලම එකවර ක්රියාත්මක කළ හැක.
මෙය සංකීර්ණ බවක් පෙනේ, නමුත් ඇත්ත වශයෙන්ම එය ඉතා සරල ය. පියවර කිහිපයක් පමණි.
පියවර 1: දත්ත සමුදාය තෝරන්න
පළමුව, ඔබට ක්රියා කිරීමට අවශ්ය දත්ත සමුදාය තෝරාගෙන ඇති බවට වග බලා ගන්න. පහත විධානයන් භාවිතා කළ හැක:
mysql
USE 你要操作的数据库名;
පියවර 2: පරිවර්තන ප්රකාශ ජනනය කරන්න
ඊළඟට, අපි සියලුම MyISAM වගු InnoDB වගු බවට පරිවර්තනය කරන SQL ප්රකාශ ජනනය කළ යුතුයි.
විමසා බැලීමෙන් මෙය කළ හැකිය information_schema.tables සාක්ෂාත් කර ගැනීම සඳහා වගුව.
පහත SQL ප්රකාශය ක්රියාත්මක කරන්න:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables
WHERE table_schema="你要操作的数据库名" AND ENGINE="MyISAM";මෙම ප්රකාශය එක් එක් MyISAM වගුවේ ගබඩා එන්ජිම InnoDB වෙත වෙනස් කරන ALTER TABLE ප්රකාශ සමූහයක් ජනනය කරයි.
පියවර 3: පරිවර්තන ප්රකාශය ක්රියාත්මක කරන්න
පෙර පියවරේදී ජනනය කරන ලද ප්රතිඵලය පිටපත් කරන්න, එවිට AI අපට මායිම් පහසුවෙන් පෙරහන් කිරීමට උපකාරී වේ.
ChatGPT තුළ පහත සඳහන් දෑ ඇතුළත් කරන්න :
请帮我过滤以下边框:
+--------------------------------------------------------------+
| ALTER TABLE table1 ENGINE=InnoDB; |
| ALTER TABLE table2 ENGINE=InnoDB; |
| ALTER TABLE table3 ENGINE=InnoDB; |
+--------------------------------------------------------------+
පසුව, MySQL හි ධාවනය කරන විට, MySQL විසින් සියලුම MyISAM වගු InnoDB වගු බවට පරිවර්තනය කිරීම සඳහා මෙම ALTER TABLE ප්රකාශයන් අනුපිළිවෙලින් ක්රියාත්මක කරයි.
උදාහරණයක්
ඔබට ක්රියාත්මක කිරීමට අවශ්ය දත්ත සමුදාය නම් කර ඇතැයි උපකල්පනය කරන්න example_db, පහත පියවර සිදු කරන්න:
- දත්ත සමුදාය තෝරන්න:
USE example_db;
- පරිවර්තන ප්රකාශ ජනනය කරන්න:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables
WHERE table_schema="example_db" AND ENGINE="MyISAM";- ජනනය කරන ලද ප්රකාශය පිටපත් කර එය MySQL හි ක්රියාත්මක කරන්න:
ALTER TABLE table1 ENGINE=InnoDB;
ALTER TABLE table2 ENGINE=InnoDB;
පූර්වාරක්ෂාව
මෙම කණ්ඩායම් පරිවර්තන මෙහෙයුම සිදු කිරීමට පෙර, සටහන් කිරීමට කරුණු කිහිපයක් තිබේ:
1. දත්ත උපස්ථ කිරීම: කණ්ඩායම් පරිවර්තනය සිදු කිරීමට පෙර, දත්ත නැතිවීම වැළැක්වීම සඳහා දත්ත සමුදායේ සම්පූර්ණ උපස්ථයක් සිදු කර ඇති බවට වග බලා ගන්න.
2. පරීක්ෂණ පරිසරය: පරිවර්තන ක්රියාවලිය යෙදුමේ සාමාන්ය ක්රියාකාරිත්වයට බලපාන්නේ නැති බව සහතික කිරීම සඳහා පළමුව පරීක්ෂණ පරිසරයක පරීක්ෂා කිරීම වඩාත් සුදුසුය.
3. දත්ත සමුදා අවසර: ALTER TABLE මෙහෙයුම සිදු කිරීමට ඔබට ප්රමාණවත් දත්ත සමුදා අවසර ඇති බවට සහතික වන්න.
අවසන් තීරණයේ දී
ඉහත පියවර සමඟින්, අපට MySQL දත්ත ගබඩාවේ ඇති සියලුම MyISAM වගු පහසුවෙන් InnoDB වගු බවට පරිවර්තනය කළ හැක. එසේ කිරීමෙන් දත්ත සමුදායේ සමගාමී සැකසුම් හැකියාවන් වැඩිදියුණු කිරීම පමණක් නොව, දත්තවල ආරක්ෂාව සහ අඛණ්ඩතාව වැඩි දියුණු කළ හැකිය.
MySQL දත්ත සමුදාය වඩාත් හොඳින් අවබෝධ කර ගැනීමට සහ ක්රියාත්මක කිරීමට මෙම ලිපිය ඔබට උපකාරී වනු ඇතැයි මම බලාපොරොත්තු වෙමි. ඔබට කිසියම් ප්රශ්නයක් හෝ යෝජනා තිබේ නම්, කරුණාකර අදහස් ප්රදේශයේ පණිවිඩයක් තබන්න.
MyISAM කාණ්ඩය InnoDB බවට පරිවර්තනය කිරීම ගැන එපමණයි. දැන් ඔබට එය උත්සාහ කළ හැකිය!
🔧💡phpMyAdmin භාවිතයෙන් InnoDB වගුවක් MyISAM පෙරනිමි එන්ජිමට පරිවර්තනය කරන්නේ කෙසේදැයි දැන ගැනීමට අවශ්යද ? මෙම ලිපිය මඟින් පරිවර්තනය පහසුවෙන් සම්පූර්ණ කිරීමට උපකාරී වන සවිස්තරාත්මක පියවර සහ මාර්ගෝපදේශ සපයයි!
👇දිගටම කියවීමට නිර්දේශ කෙරේ👇
තවත් දත්ත සමුදා පරිවර්තන කුසලතා ඉගෙන ගැනීමට සහ ඔබේ දත්ත සමුදා කළමනාකරණය ප්රශස්ත කිරීමට සබැඳිය ක්ලික් කරන්න! 📚💻
චෙන් වෙයිලියැන්ග්ගේ බ්ලොග් අඩවියේ ( https://www.chenweiliang.com/ ) බෙදාගෙන ඇති "MyISAM, MySQL දත්ත සමුදායන් තුළ InnoDB ගබඩා එන්ජිමක් බවට පත් කරන්නේ කෙසේද?" යන ලිපිය ඔබට ප්රයෝජනවත් වනු ඇතැයි අපි බලාපොරොත්තු වෙමු.
මෙම ලිපියේ සබැඳිය බෙදා ගැනීමට නිදහස් වන්න: https://www.chenweiliang.com/cwl-31790.html

