- 1 1. හැඳින්වීම
- 2 2. MySQL 5.7 සහ 8.0 අතර ප්රධාන වෙනස්කම් (ආරම්භක සමාලෝචනය)
- 3 3. MySQL 5.7 සහ 8.0 අතර වෙනස්කම් පිළිබඳ ගැඹුරු විශ්ලේෂණය (මධ්යස්ථ/උසස්)
- 4 4. මාරු කිරීමේ සැලකිලි
- 5 5. මාරු ක්රියා පටිපාටිය මාර්ගෝපදේශය
- 6 6. FAQ (නිතර අසන ප්රශ්න)
- 6.1 Q3: මාරු කිරීමේදී දත්ත අනුකූලතාව රැකගනීද?
- 6.2 Q5: මාරු කිරීමට කාලය කොපමණ ගත වේ?
- 6.3 Q6: MySQL 8.0 හි විශේෂ අවධානයට ලක්විය යුතු ප්රධාන වෙනස්කම් මොනවාද?
- 6.4 Q7: මාරු කිරීමෙන් පසු කාර්ය සාධනය අඩු විය හැදුවේද?
- 6.5 Q8: MySQL 8.0 හි ඇතුළත් කරන ලද ආරක්ෂණ වැඩිදියුණුකම් මොනවාද?
- 6.6 Q9: MySQL 8.0 වෙත මාරු කිරීම පිටත සේවාවක් ලෙස ලබා ගත යුතුද?
- 7 7. නිගමනය
1. හැඳින්වීම
MySQL සමාලෝචනය
MySQL ලෝකයේ අතිශය භාවිතා වන විවෘත-මූලාශ්ර සම්බන්ධිත දත්ත ගබඩා කළමනාකරණ පද්ධති (RDBMS) අතරින් එකකි. එය වෙබ් යෙදුම් සහ ව්යාපාරික පද්ධති සඳහා අත්යවශ්ය කොටසක් වන අතර, බොහෝ ඉංජිනේරුවන් සහ දත්ත ගබඩා පරිපාලකයන් විසින් විශ්වාස කරයි. එහි බොහෝ ශක්තියන් අතර, MySQL නවීකරණය කිරීම පද්ධති ස්ථායීත්වය සහ කාර්ය සාධනය වැඩිදියුණු කිරීමේදීම නොව, නව විශේෂාංග භාවිතා කිරීමේ හැකියාව ලබා දීමේදීද වැදගත් භූමිකාවක් ගනී.
MySQL 5.7 සහ 8.0 අතර වෙනස්කම් මත අවධානය යොමු කිරීමේ හේතුව?
MySQL 5.7 සහ 8.0, මේ දෙකම ප්රධාන ප්රවාහයෙහි අනෙකුත් සංස්කරණ දෙකකි. මෙම වෙනස්කම් තේරුම් ගැනීම, සුදුසු සංස්කරණය තෝරා ගැනීම හෝ මාරු සැලසුම් කිරීමේදී අතිශය වැදගත් වේ. උදාහරණයක් ලෙස, MySQL 8.0 පෙරනිමි අක්ෂර සෙට් වෙනස් කර කාර්ය සාධනය වැඩිදියුණු කරයි, එසේම මාරු කිරීමේදී අවධානය යොමු කළ යුතු විශේෂාංග අහෝසි කිරීම හෝ ඉවත් කිරීම සිදු කරයි.
මෙම ලිපිය MySQL 5.7 සහ 8.0 අතර ප්රධාන වෙනස්කම් සහ නව විශේෂාංග, මාරු සැලසුම් සලකා බැලීම සහ ප්රායෝගික උපදෙස් විස්තර කරයි. එමෙන්ම සාමාන්ය ප්රශ්නවලට පිළිතුරු දෙන FAQ කොටසක්ද ඇතුළත් කර ඇත. මෙම මාර්ගෝපදේශය MySQL නවීකරණය ගැන සිතන සංවර්ධකයින් සහ දත්ත ගබඩා පරිපාලකයින්ට වටිනා අවබෝධයක් ලබා දීමට නිර්මාණය කර ඇත.
2. MySQL 5.7 සහ 8.0 අතර ප්රධාන වෙනස්කම් (ආරම්භක සමාලෝචනය)
පෙරනිමි අක්ෂර සෙට් වෙනස්කම
MySQL 5.7 හි පෙරනිමි අක්ෂර සෙට් “latin1” විය, නමුත් 8.0 හි එය “utf8mb4” ලෙස වෙනස් කර ඇත.
utf8mb4 ඉමෝජි සහ විශේෂ අක්ෂරයන් සම්පූර්ණයෙන්ම සහය දක්වයි, එමඟින් අක්ෂර සෙට් අනුකූලතාවය ගණනාවට වැඩි කරයි. මෙය ජාත්යන්තර වෙබ් අඩවි සහ යෙදුම් සඳහා ආරක්ෂිත හා විශ්වාසදායක පරිසරයක් සපයයි.
උදාහරණය:
-- Emoji data that may cause an error in MySQL 5.7
INSERT INTO test_table (text_column) VALUES ('😊');
MySQL 8.0 හි, මෙවැනි ඉමෝජි දත්ත කිසිදු ගැටළුවක් නොමැතිව ගබඩා කළ හැකිය.
එකතු කරන ලද නව විශේෂාංග
MySQL 8.0 සංවර්ධකයින් සහ දත්ත ගබඩා පරිපාලකයන්ගේ කාර්යක්ෂමතාව වැඩිදියුණු කරන නව විශේෂාංග රැසක් හඳුන්වා දෙයි. පහත දැක්වෙන්නේ ඉතා වැදගත් වැඩිදියුණුකම් කිහිපයකි.
- උත්කර්ෂණය කළ JSON ක්රියාකාරිත්වය
- JSON දත්ත සෙවීම සහ සැකසීම තවත් ස්වභාවික වී ඇත.
- උදාහරණය: JSON දත්තයෙන් විශේෂිත අගයන් පහසුවෙන් ලබාගත හැක.
sql SELECT JSON_EXTRACT(json_column, '$.key') FROM test_table;
- වින්ඩෝ ක්රියාකාරිත්වය හඳුන්වා දීම
- දත්ත විශ්ලේෂණය සරල කිරීම සඳහා වින්ඩෝ ක්රියාකාරිත්වය එකතු කර ඇත.
- උදාහරණය: එක් එක් පාරිභෝගිකයා සඳහා විකුණුම් ශ්රේණි ගණනය කිරීමේ විමසුම
sql SELECT customer_id, sales, RANK() OVER (ORDER BY sales DESC) AS rank FROM sales_table;
අහෝසි කර ඇති සහ ඉවත් කරන ලද විශේෂාංග
MySQL 8.0 හි, කිහිපයක් අහෝසි කර හෝ ඉවත් කර ඇත. පහත දැක්වෙන්නේ සමහර උදාහරණයයි.
query_cacheඉවත් කිරීම කාර්ය සාධනය වැඩිදියුණු කිරීම සඳහා අහෝසි කර ඇත. ඒ වෙනුවට, ඉන්ඩෙක්ස් stratégiන් හෝ යෙදුම් මට්ටමේ කෑෂ් කළමනාකරණය කිරීමේ නිර්දේශ කරයි.- පරණ සත්යාපන ක්රම සඳහා සහය අවසන් කිරීම ආරක්ෂාව වැඩිදියුණු කිරීම සඳහා පරණ සත්යාපන ක්රම ඉවත් කර ඇත.
කාර්ය සාධන වැඩිදියුණුකම්
MySQL 8.0 විමසුම් සැකසීමේ වේගය සහ ඉන්ඩෙක්ස් කළමනාකරණය ගණනාවට වැඩිදියුණු කරයි. මෙම වැඩිදියුණුකම් විශාල දත්ත ප්රමාණය හසුරුවන පරිසර සඳහා විශාල ප්රතිලාභයක් ලබා දෙයි.
උදාහරණ:
- උෂ්ණත්ව සිතියම් මගින් ඉන්ඩෙක්ස් කළමනාකරණය : අඩු වාරිකයෙන් භාවිතා වන ඉන්ඩෙක්ස් කාර්යක්ෂමව ඉවත් කිරීම.
- InnoDB අනුකූලනය : වේගවත් ගනුදෙනු සැකසීම.
-- Example of index optimization ALTER TABLE sales_table ADD INDEX (sales_amount);
3. MySQL 5.7 සහ 8.0 අතර වෙනස්කම් පිළිබඳ ගැඹුරු විශ්ලේෂණය (මධ්යස්ථ/උසස්)
පෙරනිමි අක්ෂර සෙට් විස්තර
MySQL 8.0 හි, පෙරනිමි අක්ෂර සෙට් utf8mb4 ලෙස වෙනස් කර ඇත. මෙය ජාත්යන්තරීකරණ සහය ගණනාවට වැඩිදියුණු කරයි. උදාහරණයක් ලෙස, ඉමෝජි සහ විශේෂ අක්ෂරයන් ගබඩා කිරීම සඳහා අවශ්ය බහු-බයිට් අක්ෂර සහය පෙරනිමි ලෙස සක්රිය කර ඇත.
ප්රායෝගික බලපෑම:
- අක්ෂර සෙට් අනුකූලතාව : 5.7 සිට 8.0 වෙත මාරු කරන විට, පවතින දත්ත ගබඩාව
latin1හෝ වෙනත් අක්ෂර සෙට් එකක් භාවිතා කරන්නේ නම්, මාරු කිරීමේදී අක්ෂර සෙට් එක වෙනස් කළ යුතුදැයි සැලකිල්ලට ගත යුතුය. - කාර්ය සාධන බලපෑම :
utf8mb4භාවිතා කිරීම සමහර 문자열 සසඳුම් වැඩි කාර්යක්ෂම කරයි, නමුත් විශාල පරිමාණ දත්ත ගබඩා සඳහා පෙර කාර්ය සාධන බලපෑම තහවුරු කළ යුතුය.-- Example: Convert to utf8mb4 ALTER TABLE sample_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
වැඩිදියුණු කළ JSON ක්රියාකාරිත්වය
MySQL 5.7 පළමු වරට JSON දත්ත වර්ගය හඳුන්වා දුන්නා, MySQL 8.0 තවත් ශක්තිමත් හැකියාවන් එක් කරයි. මෙය සංරචිත දත්ත කළමනාකරණය සහ සැකසීම පහසු කරයි, යෙදුම් සංවර්ධන කාර්යක්ෂමතාව වැඩි කරයි.
ප්රධාන සංවර්ධන:
- JSON_TABLE ක්රියාව ඔබට JSON දත්ත ටැබ්ලර් ආකාරයට පරිවර්තනය කළ හැක. මෙය සංකීර්ණ JSON ව්යුහයන් සොයා බැලීමට සහ පහසුවෙන් සැකසීමට ඉඩ සලසයි.
SELECT * FROM JSON_TABLE( '[{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]', '$[*]' COLUMNS ( id INT PATH '$.id', name VARCHAR(50) PATH '$.name' ) ) AS jt;
- සුචක (Index) සුදානම ඔබට JSON දත්ත මත සුචක සෑදිය හැකි අතර, විමසුම් කාර්යක්ෂමතාව වැඩි වේ.
CREATE INDEX json_index ON test_table (JSON_EXTRACT(json_column, '$.key'));
කාර්ය සාධනය සහ InnoDB සංවර්ධන
MySQL 8.0 InnoDB එන්ජින්හි වැදගත් සුදානම් ඇතුළත් කරයි. මෙය ගනුදෙනු ප්රවාහය වැඩි කරයි සහ විශාල දත්ත කට්ටලයන් වැඩි කාර්යක්ෂමතාවෙන් සැකසීමට හැකියාව ලබා දෙයි.
ප්රධාන සංවර්ධන:
- Doublewrite Buffer හඳුන්වා දීම බිඳ වැටීමේ ප්රතිරෝධය වැඩි කරයි සහ තැටි I/O කාර්යක්ෂමතාව වැඩි කරයි.
- ස්ථාවර මීටාදත්ත වගු විස්තර සහ සුචක තොරතුරු තැටියේ සුරැකේ, නැවත ආරම්භ කිරීමෙන් පසු කාර්ය සාධනය වැඩි කරයි.
උදාහරණය:
-- Example of index optimization
ALTER TABLE sales_table ADD INDEX (sales_amount);
Window Functions හඳුන්වා දීම
MySQL 8.0 window functions එකතු කරයි, දත්ත විශ්ලේෂණය පහසු කරයි. window functions සමඟ, ඔබට එකතු කිරීම සහ ශ්රේණිගත කිරීම වැනි උසස් මෙහෙයුම් කාර්යක්ෂමව ක්රියාත්මක කළ හැක.
සාමාන්ය භාවිතා නඩු:
- පාරිභෝගිකයෙකුට සමුදායීය විකුණුම් ගණනය කිරීම
- ශ්රේණිගත කිරීම සහ අනුපිළිවෙළ ගණනය කිරීම
උදාහරණය: සමුදායීය විකුණුම් ගණනය කිරීම
SELECT customer_id, sales, SUM(sales) OVER (PARTITION BY customer_id ORDER BY sales_date) AS cumulative_sales
FROM sales_table;
අහෝසි කරන ලද විශේෂාංග සහ මාරු කිරීමේ සැලකිලි
MySQL 8.0 කිහිපයක් විශේෂාංග ඉවත් කරයි හෝ අහෝසි කරයි. මෙම වෙනස්කම් තේරුම් ගැනීම මාරු කිරීමේ ගැටළු වැළැක්වීමට වැදගත් වේ.
- ඉවත් කරන ලද විශේෂාංග
query_cache: කාර්ය සාධන වැඩිදියුණු කිරීම සඳහා ඉවත් කර ඇත.- පරණ සත්යාපන ක්රම: ආරක්ෂාව වැඩිදියුණු කිරීම සඳහා ඉවත් කර ඇත.
- මාරු කිරීමේ සැලකිලි
- ඔබට අහෝසි කරන ලද විශේෂාංග වලට පදනම් වූ විමසුම් සහ යෙදුම් කොටස් පෙරම තේරී විකල්පයන් ඇගයිය යුතුය.
4. මාරු කිරීමේ සැලකිලි
අනුකූලතාව පරීක්ෂා කිරීම
මාරු කිරීමට පෙර, MySQL 8.0 හි අනුකූල නොවන වෙනස්කම් සහ අහෝසි කරන ලද විශේෂාංග සමාලෝචනය කිරීම වැදගත් වේ. පහත කරුණු වලට අවධානය යොමු කරන්න.
- රක්ෂිත වචනවල වෙනස්කම් MySQL 8.0 නව රක්ෂිත වචන හඳුන්වා දේ, ඒවා පවතින තීරුව හෝ වගු නාම සමඟ ගැටළුවක් ඇති කළ හැක. ඔබට ඒවා පෙරම සමාලෝචනය කර සකස් කළ යුතුය. උදාහරණය:
GROUPSසහWINDOW8.0 හි රක්ෂිත වචන බවට පත්ව ඇත.-- Example rename to avoid conflicts ALTER TABLE example_table RENAME COLUMN groups TO user_groups;
අහෝසි කරන ලද විශේෂාංග භාවිතය 5.7 හි ක්රියා කළ විමසුම් හෝ සැකසුම් 8.0 හි අහෝසි කර ඇති හෝ ඉවත් කර ඇති විය හැක. උදාහරණයක් ලෙස,
query_cache8.0 හි ඉවත් කර ඇත. විකල්පයක් ලෙස යෙදුම්-මට්ටමේ කෑෂ් භාවිතය සලකා බලන්න.අක්ෂර සෙට් සහ සමානකරණ වෙනස්කම් MySQL 8.0 හි පෙරනිමි අක්ෂර සෙට්
utf8mb4වේ. පවතින වගුlatin1හෝ වෙනත් අක්ෂර සෙට් භාවිතා කරන්නේ නම්, මාරු කිරීමේදී අනුකූලතාව ගැටළු ඇති විය හැක.-- Example: Change character set ALTER TABLE my_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
දත්ත පිටපත් කිරීමේ වැදගත්කම
මාරු කිරීමේදී දත්ත අහිමි වීම හෝ විකෘති වීමේ අවදානමක් ඇත. එබැවින්, පෙරම පිටපත් ගැනීම අත්යවශ්ය වේ.
නිර්දේශිත පිටපත් ක්රම:
- mysqldump භාවිතා කිරීම
mysqldump -u root -p --all-databases > backup.sql
- භෞතික පිටපත් (උදාහරණයක් ලෙස, Percona XtraBackup භාවිතා කිරීම).
පිටපතක් සෑදීමෙන් පසු, එය ඉලක්ක පරිසරයට ප්රතිස්ථාපනය කර පරීක්ෂා කර දත්ත සාර්ථකව මාරු වන බව තහවුරු කරන්න.
පරීක්ෂණ පරිසරයක සත්යාපනය
සෑම විටම මාරු කාර්යය පරීක්ෂණ පරිසරයක පළමුව සිදු කරන්න, නිෂ්පාදනයේ සෘජුව නොකරන්න. පරීක්ෂණ පරිසරයේ, ගැටළු හඳුනා ගැනීමට මෙම පියවර අනුගමනය කරන්න.
- දත්ත ප්රතිස්ථාපනය පිටපත පරීක්ෂණ පරිසරයට ප්රතිස්ථාපනය කර මාරු ක්රියාවලිය අනුකරණය කරන්න.
- අයදුම්පත් හැසිරීම තහවුරු කිරීම මාරු කිරීමෙන් පසු, MySQL 8.0 හි අයදුම්පත නිවැරදිව ක්රියා කරන බව තහවුරු කරන්න. SQL අනුකූලතාව සහ කාර්ය සාධනයට විශේෂ අවධානයක් දෙන්න.
- පූර්ණ පරීක්ෂණ සැබෑ ගමන් මාර්ගය අනුකරණය කරන පූර්ණ පරීක්ෂණ ක්රියාත්මක කර උත්සාහිත දත්ත ගබඩාවේ කාර්ය සාධන bottleneck හඳුනා ගන්න.
මාරු සැලැස්මක් සකස් කිරීම
සාර්ථක මාරු සඳහා විස්තරාත්මක සැලැස්ම අත්යවශ්ය වේ. ඔබේ සැලැස්ම සකස් කරන විට පහත පියවර들을 යොමු කරගන්න.
- වත්මන් තත්ත්වය විශ්ලේෂණය කිරීම
- වත්මන් MySQL වින්යාසය සහ භාවිතා රටා සමාලෝචනය කරන්න.
- අහෝසි වූ විශේෂාංග සහ වාරික වචන ගැටළු පරීක්ෂා කරන්න.
- මාරු මෙවලම් සූදානම් කිරීම
- නිල MySQL
mysql_upgradeමෙවලම භාවිතා කර දත්ත ගබඩාව නවීකරණය සාර්ථකව සිදු කරන්න.
- පියවරෙන් පියවර මාරු කිරීම
- පළමුව සංවර්ධන පරිසරයෙන් ආරම්භ කර, පසුතැවීමේ පරිසරයට, අවසානයේ නිෂ්පාදනයට යන්න.
- මාරු පසු සුදුසුකම් වැඩිදියුණු කිරීම
- දර්ශක නැවත ගොඩනැගීම සහ කාර්ය සාධන ටියුනින් කිරීම සිදු කරන්න.
ANALYZE TABLE my_table; OPTIMIZE TABLE my_table;
ගැටළු විසඳීම
මාරු කිරීමේදී ගැටළු ඇති වූහොත්, පහත ක්රම භාවිතා කර ඒවා විසඳන්න.
- දෝෂ ලොග් පරීක්ෂා කිරීම MySQL ලොග් පරීක්ෂා කර මූලික හේතුව හඳුනා ගන්න.
tail -f /var/log/mysql/error.log
- අනුකූලතා සැකසුම් භාවිතා කිරීම MySQL 8.0 හි, ඔබට තාවකාලිකව
sql_modeසකස් කර අනුකූලතාව රැකගත හැක.SET sql_mode='NO_ENGINE_SUBSTITUTION';
- නිල ලේඛන භාවිතා කිරීම නිල MySQL නවීකරණ මාර්ගෝපදේශය සහ FAQ වෙත යොමු වී විසඳුම් සොයන්න.

5. මාරු ක්රියා පටිපාටිය මාර්ගෝපදේශය
මාරු සඳහා සූදානම
- වත්මන් අනුවාදය පරීක්ෂා කිරීම මාරු කිරීමට පෙර, වත්මන් MySQL අනුවාදය තහවුරු කරන්න. මෙය
mysql_upgradeමෙවලම භාවිතා කිරීමේදී සහ අනුකූලතාව පරීක්ෂා කිරීමේදී උපකාරී වේ.mysql --version
- අහෝසි වූ විශේෂාංග හඳුනා ගැනීම මාරු කිරීමේදී බලපෑමක් ඇති කළ හැකි අහෝසි වූ විශේෂාංග හෝ වින්යාස පරීක්ෂා කරන්න. නිල “Upgrading to MySQL 8.0” මාර්ගෝපදේශය මත පදනම්ව පරීක්ෂණ ලැයිස්තුවක් සකස් කරන්න.
- දත්ත පිටපත් කිරීම දත්ත ආරක්ෂාව සඳහා සම්පූර්ණ පිටපතක් ගන්න. නිර්දේශිත ක්රමයන් ඇතුළත් වේ:
- mysqldump විධානය භාවිතා කිරීම :
bash mysqldump -u root -p --all-databases > backup.sql - භෞතික පිටපත (උදාහරණයක් ලෙස, Percona XtraBackup භාවිතා කිරීම).
පිටපත සෑදීමෙන් පසු, එය ඉලක්ක පරිසරයට ප්රතිස්ථාපනය කර පරීක්ෂා කර දත්ත සාර්ථකව මාරු වන බව තහවුරු කරන්න.
මාරු පියවර
- MySQL 8.0 ස්ථාපනය ඉලක්ක සේවාදායකයේ MySQL 8.0 ස්ථාපනය කරන්න. ස්ථාපන ක්රියාවලිය මෙහෙයුම් පද්ධතිය අනුව වෙනස් වේ. පහත Ubuntu සඳහා උදාහරණයක් ඇත:
sudo apt update sudo apt install mysql-server
- වින්යාස ගොනු සමාලෝචනය
my.cnf(හෝmy.ini) ගොනුව පරීක්ෂා කර සැකසුම් යාවත්කාලීන කරන්න.
- අහෝසි වූ විකල්ප ඉවත් කරන්න
- නව අක්ෂර සමුහය සකසන්න (
utf8mb4)[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
- දත්ත ආයාත කිරීම පිටපත් ගොනුව භාවිතා කර දත්ත ආයාත කරන්න.
mysql -u root -p < backup.sql
- mysql_upgrade මෙවලම ක්රියාත්මක කිරීම MySQL 8.0 වෙත නවීකරණය කිරීමෙන් පසු, දත්ත ගබඩාව නවතම අභ්යන්තර ආකෘතියට යාවත්කාලීන කිරීම සඳහා
mysql_upgradeමෙවලම ක්රියාත්මක කරන්න.mysql_upgrade -u root -p
මාරු කිරීමෙන් පසු සුදානම
- ඉන්ඩෙක්ස් නැවත ගොඩනැගීම නව InnoDB එන්ජිනය සඳහා ඉන්ඩෙක්ස් නැවත ගොඩනැගීමෙන් ඒවා සුදානම් කරගන්න.
ALTER TABLE table_name ENGINE=InnoDB;
- විමසුම් කාර්ය සාධනය තහවුරු කිරීම ප්රධාන යෙදුම් විමසුම් පරීක්ෂා කර, අවශ්ය නම් ඉන්ඩෙක්ස් හෝ සැකසුම් සකස් කරන්න.
EXPLAIN SELECT * FROM table_name WHERE column_name = 'value';
- ලොග් නිරීක්ෂණය මාරු කිරීමෙන් පසු දින කිහිපයක් තිස්සේ දෝෂ ලොග් සහ මන්දගාමී විමසුම් ලොග් නිරීක්ෂණය කර ගැටළු ඉක්මනින් හඳුනා ගන්න.
tail -f /var/log/mysql/error.log
පරීක්ෂණ සහ සත්යාපනය
මාරු කිරීමෙන් පසු, නිවැරදි ක්රියාකාරිත්වය තහවුරු කිරීම සඳහා පහත පරීක්ෂණ සිදු කරන්න.
- යෙදුම් සත්යාපනය යෙදුම නිවැරදිව ක්රියා කරන බව සහ සියලු විමසුම් අපේක්ෂිත ලෙස ක්රියා කරන බව තහවුරු කරන්න.
- පූර්ණ භාර පරීක්ෂණ සැබෑ ලෝකයේ ගමන් බර අනුකරණය කර කාර්ය සාධනය සහ ස්ථාවරතාව තහවුරු කරන්න.
- දත්ත අඛණ්ඩතාව සත්යාපනය 5.7 සිට 8.0 දක්වා මාරු කිරීමෙන් පසු දත්ත අඛණ්ඩව පවතින බව තහවුරු කරන්න. අක්ෂර සමුදා සහ සමානකරණ (collation) සම්බන්ධ ගැටළු වෙත විශේෂ අවධානයක් දෙන්න.
ගැටළු ඇති වූ විට කළ යුතු දේ
මාරු කිරීමේදී හෝ පසු ගැටළු උදාවන විට, පහත විසඳුම් සලකා බලන්න.
- ආපසු ගබඩා කිරීමෙන් ප්රතිස්ථාපනය ගැටළුව විසඳීමට නොහැකි නම්, ඔබේ ආපසු ගබඩා (backup) භාවිතා කර පසුගිය පරිසරයට ආපසු යාම සලකා බලන්න.
- නිල සහාය වෙත යොමු වීම ගැටළු විසඳීම සඳහා නිල MySQL නවීකරණ මාර්ගෝපදේශය සහ සහාය සම්පත් පරීක්ෂා කරන්න.
- දෝෂ විස්තර බෙදා ගැනීම සමුහ (forum) හෝ සංවර්ධක ප්රජා වල විස්තරාත්මක දෝෂ තොරතුරු පළ කිරීම විසඳුම් සොයා ගැනීමට උපකාරී විය හැක.
6. FAQ (නිතර අසන ප්රශ්න)
Q1: MySQL 5.7 සඳහා සහය කවදා අවසන් වුණාද?
A1: MySQL 5.7 සඳහා නිල සහය 2023 ඔක්තෝබර් මාසයේ අවසන් විය. එම දිනයෙන් පසු, ආරක්ෂා යාවත්කාලීන සහ දෝෂ නිරාකරණ ලබා නොදේ. ඉක්මනින් MySQL 8.0 වෙත මාරු කිරීම සැලසුම් කිරීම ඉතාමත් නිර්දේශ කරයි.
Q2: MySQL 8.0 වෙත මාරු කිරීම අනිවාර්යද?
A2: මාරු කිරීම අනිවාර්ය නොවූවත්, පහත හේතු මත නිර්දේශ කරයි:
- MySQL 8.0 හි ආරක්ෂාව සහ කාර්ය සාධනය වැඩිදියුණු වේ.
- වැඩිදියුණු JSON සහාය සහ වින්ඩෝ (window) ක්රියාකාරකම් වැනි නව විශේෂාංග සංවර්ධන කාර්යක්ෂමතාව වැඩි කරයි.
- MySQL 5.7 සහය අවසන් වීම නිසා ආරක්ෂා අවදානම් අඩු වේ.
Q3: මාරු කිරීමේදී දත්ත අනුකූලතාව රැකගනීද?
A3: සාමාන්යයෙන්, දත්ත අනුකූලතාව රැකගනී. එ nevertheless, පහත අවස්ථා වලදී අවධානය අවශ්යයි:
- දත්ත ගබඩාව
latin1හෝ පරණ සමානකරණ (collation) භාවිතා කරනවා නම්, මාරු කිරීමෙන් පසු අක්ෂර කේතනය ගැටළු ඇති විය හැක. - අහෝසි කර ඇති හෝ ඉවත් කර ඇති විශේෂාංග භාවිතා කරනවා නම්, දෝෂ හෝ අනපේක්ෂිත හැසිරීමක් සිදුවිය හැක.
මාරු කිරීමට පෙර පරීක්ෂණ පරිසරයක සියල්ල තහවුරු කිරීම ඉතාමත් නිර්දේශ කරයි.
Q4: නවීකරණය කිරීමෙන් පසු පසුගිය අනුවාදයට පහළට ගත හැදුවේද?
A4: MySQL 8.0 සිට MySQL 5.7 වෙත පහළට ගැලවීම ඉතා අභියෝගාත්මක වේ. MySQL 8.0 හි අභ්යන්තර දත්ත ව්යුහයන් වෙනස් වී ඇති අතර, අනුකූලතාව පහසුවෙන් රැකගත නොහැක. අනපේක්ෂිත ගැටළු සඳහා සූදානම් වීමට මාරු කිරීමේ පෙර සම්පූර්ණ ආපසු ගබඩා (backup) එකක් ගන්න.
Q5: මාරු කිරීමට කාලය කොපමණ ගත වේ?
A5: මාරු කිරීමේ කාලය දත්ත ගබඩාවේ ප්රමාණය සහ පරිසරය මත පදනම් වේ. ප්රධාන කරුණු:
- දත්ත ගබඩාවේ ප්රමාණය (විශාල දත්ත සමුදා වලට වැඩි කාලයක් ගත වේ).
- සේවාදායක කාර්ය සාධනය සහ ජාල වේගය.
- පරීක්ෂණ සහ ගැටළු විසඳීමට අවශ්ය කාලය.
කුඩා දත්ත ගබඩා කිහිපයක් පැය කිහිපයක් ගත විය හැක, විශාල පරිමාණ පද්ධති කිහිප දින ගත විය හැක.
Q6: MySQL 8.0 හි විශේෂ අවධානයට ලක්විය යුතු ප්රධාන වෙනස්කම් මොනවාද?
A6: කිහිපයක් වැදගත් වෙනස්කම් ඇතුළත් වේ:
- පෙරනිමි අක්ෂර සමුදාය
utf8mb4වෙත වෙනස් වී ඇත, එය මාරු කිරීමේදී අක්ෂර‑සම්බන්ධ ගැටළු ඇති කරවිය හැක. query_cacheඉවත් කර ඇත, එමනිසා කෑෂ් (caching) උපාය මාරු වේ.- නව වාරණ වචන (උදා:
GROUPSසහWINDOW) පවතින සකස්කිරීම් (schema) නිර්වචන සමඟ ගැලපීමේ ගැටළු ඇති කරවිය හැක.
Q7: මාරු කිරීමෙන් පසු කාර්ය සාධනය අඩු විය හැදුවේද?
A7: මාරු කිරීම නිවැරදිව සිදු කරන විට, MySQL 8.0 හි කාර්ය සාධනය සාමාන්යයෙන් වැඩි වේ. එ nevertheless, පහත අවස්ථා වලදී තාවකාලික කාර්ය සාධන අඩු වීම සිදුවිය හැක:
- අසමත් ඉන්ඩෙක්ස් වින්යාසය.
- මාරු කිරීමෙන් පසු හෙළිවූ අකාර්යක්ෂම විමසුම්.
- නව වින්යාස සැකසුම් නිසි ලෙස අනුකූල නොවීම.
මාරු කිරීමෙන් පසු ඉන්ඩෙක්ස් නැවත ගොඩනඟා විමසුම් කාර්යක්ෂමතාවය තහවුරු කරන්න.
Q8: MySQL 8.0 හි ඇතුළත් කරන ලද ආරක්ෂණ වැඩිදියුණුකම් මොනවාද?
A8: MySQL 8.0 පහත සඳහන් විශේෂාංග සමඟ ආරක්ෂාව ශක්තිමත් කරයි:
- ආධාරක පරිච්ඡේදය වැඩිදියුණු කිරීම :
caching_sha2_passwordයනු පෙරනිමි පරිච්ඡේද ප්ලගිනය වන අතර, ශක්තිමත් ආරක්ෂාව ලබා දෙයි. - දත්ත සංකේතනය පුළුල් කිරීම : InnoDB වගු ඉඩ සංකේතනය සහය දක්වයි.
- පිවිසුම් උත්සාහ සීමා : අනිසි ප්රවේශය වැලැක්වීමට අසාර්ථක පිවිසුම් උත්සාහයන් සඳහා සීමා සැකසිය හැක.
Q9: MySQL 8.0 වෙත මාරු කිරීම පිටත සේවාවක් ලෙස ලබා ගත යුතුද?
A9: මෙය ඔබේ දත්ත ගබඩා ප්රමාණය සහ අභ්යන්තර විශේෂඥතාවය මත පදනම් වේ. කුඩා පරිසරයන් බොහෝ විට අභ්යන්තරයෙන් කළ හැකි අතර, විශාල පරිමාණ පද්ධති හෝ උසස් ලබාගත හැකි පරිසර සඳහා, විශේෂඥයන් රැගෙන එන්නා මඟින් අවදානම අඩු කළ හැක.
7. නිගමනය
MySQL 8.0 වෙත මාරු කිරීමේ ප්රතිලාභ
- කාර්යක්ෂමතාවය වැඩිදියුණු කිරීම
නව InnoDB එන්ජින්හි අනුකූලතා ගනුදෙනු සැකසුම් සහ විමසුම් ක්රියාත්මක වේගය ගණනාවක් වැඩිදියුණු කරයි.
- නව විශේෂාංග
- වැඩිදියුණු කළ JSON ක්රියාකාරිත්වය සහ කවුළු ක්රියාකාරිත්වය දත්ත සැකසුම් සහ විශ්ලේෂණය සරල කරයි.
- පෙරනිමි අක්ෂර සමුදාය
utf8mb4වෙත වෙනස් කිරීම ජාත්යන්තරීකරණ සහාය සරල කරයි.
- ශක්තිමත් ආරක්ෂාව
වැඩිදියුණු කළ පරිච්ඡේද සහ සංකේතන ක්රමවේද සමස්ත පද්ධති ආරක්ෂාව වැඩිදියුණු කරයි.
මාරු කිරීමේ ප්රධාන සැලකිලි
- අහෝසි කර ඇති සහ ඉවත් කරන ලද විශේෂාංග පරීක්ෂා කරන්න
- මාරු කිරීමේ පෙර
query_cacheසහ පරණ පරිච්ඡේද ක්රම වැනි අංග සමාලෝචනය කරන්න. - අක්ෂර සමුදා ගැටළු
latin1හෝ වෙනත් පරණ අක්ෂර සමුදා භාවිතා කරනවා නම්, මාරු කිරීමෙන් පසු කේතනයේ ගැටළු ඇති විය හැක. නිසි අක්ෂර සමුදා පරිවර්තනය අවශ්ය වේ.- පරිසරයක් තුළ පරීක්ෂා කරන්න
- නිෂ්පාදනයට වෙනස්කම් යෙදීමට පෙර පරීක්ෂා පරිසරයක මාරු කිරීම අනුකරණය කර, පූර්ව ගැටළු විසඳා ගන්න.
සාර්ථක මාරු කිරීමේ මූලික කරුණු
- සම්පූර්ණ සූදානම
- වත්මන් දත්ත ගබඩා තත්ත්වය විශ්ලේෂණය කර, අනුකූල නොවන හෝ අවදානම් හඳුනා ගන්න.
- උපස්ථාපන (බැකප්) සකසා, ප්රතිස්ථාපන ක්රියාවලීන් තහවුරු කරන්න.
- පියවරෙන් පියවර මාරු කිරීම සිදු කරන්න
- සංවර්ධනයෙන් පරිසරයට, පසු නිෂ්පාදනයට යාමට, සෑම පියවරකම ගැටළු විසඳා ගන්න.
- මාරු කිරීමෙන් පසු අනුකූල කිරීම
- ඉන්ඩෙක්ස් නැවත ගොඩනඟා, වින්යාසයන් සුක්ෂ්මව සකසා දත්ත ගබඩා කාර්යක්ෂමතාව උපරිම කරගන්න.
අනාගත දර්ශනය
MySQL 8.0 නිරන්තරයෙන් වර්ධනය වෙමින් පවතී, එහි නවතම විශේෂාංග භාවිතා කිරීම සංවර්ධන කාර්යක්ෂමතාවය සහ මෙහෙයුම් ස්ථාවරතාවය වැඩිදියුණු කරයි. විශේෂයෙන්, JSON දත්ත වර්ගය සහ කවුළු ක්රියාකාරිත්වය බොහෝ යෙදුම්වල පරිවර්තනීය වැඩිදියුණු කිරීම් ගෙන එයි.
මෙම ලිපිය මඟින්, MySQL 5.7 සිට 8.0 දක්වා මාරු කිරීමේ විශේෂ පියවර සහ ප්රධාන සැලකිලි ඇතුළත් කර, ඔබට දැන් ගැඹුරු අවබෝධයක් ලැබේ. ඔබේ මාරු කිරීම සැලකිලිමත් ලෙස සැලසුම් කර, MySQL 8.0 විසින් ලබා දෙන නව හැකියාවන් පූර්ණයෙන්ම භාවිතා කරන්න.



