- 1 1. හැඳින්වීම: MySQL කාල කලාප සැකසුම් වැදගත් වීමේ හේතු
- 2 2. MySQL කාල කලාප සැකසුම් පිළිබඳ මූලික දැනුම
- 3 3. කාල කලාප දත්ත ආයාත කිරීම සහ සූදානම් පියවරයන්
- 4 4. කාල කලාප සැකසුම් ස්ථිර හා තාවකාලික ලෙස සකස් කිරීම
- 5 5. Application Integration and Important Configuration Notes
- 6 6. Troubleshooting and FAQ Section
- 7 7. සාරාංශය සහ ඊළඟ පියවර
1. හැඳින්වීම: MySQL කාල කලාප සැකසුම් වැදගත් වීමේ හේතු
දත්ත ගබඩා කළමනාකරණය සහ වෙබ් යෙදුම් සංවර්ධනයේ, MySQL කාල කලාප සැකසුම් අත්යවශ්ය අංගයකි. නිවැරදි දිනය සහ වේලාව දත්ත ඇතුළත් කිරීම ඇනවුම් පද්ධති, ලොග් කළමනාකරණය, සහ දත්ත විශ්ලේෂණය සඳහා අත්යවශ්ය වේ. කෙසේ වෙතත්, වැරදි කාල කලාප සැකසුම් පහත සඳහන් ගැටළු ඇති කරයි.
1-1. වැරදි කාල කලාප සැකසුම් වල බලපෑම
- ඇණවුම් කාල සම්ප්රේෂණ
- ඇණවුම් පද්ධතිවල, කාල අසමතුලිතතා නිසා ඇනවුම් වේලාවන් වැරදි ලෙස ලියාපදිංචි විය හැක. මෙය පරිශීලකයින් සමඟ ගැටළු ඇති කරයි.
- අසමත් ලොග් දත්ත
- පද්ධති ලොග් සහ දෝෂ ලොග් වෙනත් කාල කලාප වලින් ලියාපදිංචි වුවහොත්, ගැටළු සිදුවන විට මූලික හේතුව හඳුනා ගැනීම අසීරු වේ.
- විශ්ලේෂණාත්මක දත්තයේ දෝෂ
- දිනය සහ වේලාව මත පදනම් වූ විශ්ලේෂණය කිරීමේදී, සම්ප්රේෂණය වූ කාල දත්ත භාවිතා කිරීම නිවැරදි නොවන නිගමනවලට හේතු වේ.
1-2. මෙම ලිපියේ අරමුණ සහ ඉලක්ක ප්රේක්ෂකයන්
මෙම ලිපිය MySQL කාල කලාප සැකසුම් පිළිබඳව ආරම්භකයන් සිට මධ්යම පරිශීලකයන් දක්වා විස්තරාත්මකව පැහැදිලි කරයි. ඔබට පහත දේ ඉගෙන ගත හැක:
- වත්මන් කාල කලාප සැකසුම් පරීක්ෂා කිරීමේ ක්රමය
- තාවකාලික සහ ස්ථිර සැකසුම් සකස් කිරීමේ ක්රමය
- සාමාන්ය ගැටළු විසඳීමේ ක්රමය
මෙම මාර්ගෝපදේශය අවසන් වන විට, ඔබ MySQL කාල කලාප සැකසුම් පූර්ණයෙන්ම පාලනය කළ හැකි වනු ඇත.
2. MySQL කාල කලාප සැකසුම් පිළිබඳ මූලික දැනුම
MySQL හි, සේවාදායකයේ පද්ධති කාලය සහ දත්ත ගබඩා කාල කලාප සැකසුම් වෙනස් විය හැක. මෙම කොටසෙහි, ඒවායේ භූමිකාව සහ සැකසුම් පරීක්ෂා කිරීමේ ක්රමය පැහැදිලි කරමු.
2-1. පද්ධති කාලය සහ කාල කලාපය අතර වෙනස
- පද්ධති කාලය (system_time_zone)
- මෙය MySQL සේවාදායකය ධාවනය වන මෙහෙයුම් පද්ධතියේ කාල කලාපය මත පදනම් වූ පෙරනිමි කාල සැකසුමයි. සේවාදායකය නැවත ආරම්භ කරන විට එය නැවත සකස් විය හැක.
- කාල කලාපය (time_zone)
- මෙය දත්ත ගබඩාවේ මට්ටමින් කළමනාකරණය කරන කාල කලාප සැකසුමයි. යෙදුම් ඒකාබද්ධ කිරීම සහ SQL විමසුම් ක්රියාත්මක කිරීමේදී මෙය යෙදේ.
2-2. වත්මන් කාල කලාප සැකසුම් පරීක්ෂා කිරීමේ ක්රමය
MySQL කාල කලාප සැකසුම් පරීක්ෂා කිරීමට, පහත කමාන්ඩ් භාවිතා කරන්න:
-- Check system time zone
SELECT @@system_time_zone;
-- Check database time zone
SELECT @@time_zone;
මෙය ඔබට වත්මන් සැකසුම් නිවැරදිව තහවුරු කිරීමට ඉඩ සලසයි.
2-3. කාල කලාප සැකසුම් සඳහා භාවිතා කේස්
- එකීකෘත සේවාදායක ලොග් කළමනාකරණය: කාල කලාපය සම්මත කිරීමෙන් දෝෂ ලොග් සහ පද්ධති ලොග් වල කාල අනුක්රමය සමාන්ය කරයි.
- බහු-කාල කලාප සහය: ගෝලීය පරිශීලකයන් සඳහා විවිධ කාල කලාපවල දත්ත කළමනාකරණය සක්රීය කරයි.
3. කාල කලාප දත්ත ආයාත කිරීම සහ සූදානම් පියවරයන්
MySQL හි, සමහර කාල කලාප දත්ත පෙරනිමි ලෙස ස්ථාපිත වේ, නමුත් සම්පූර්ණ දත්ත කට්ටලය අවශ්ය නම්, ඔබට ඒවා වෙනම ආයාත කළ යුතුය.
3-1. කාල කලාප වගු පරීක්ෂා කිරීම
පළමුව, දත්ත ගබඩාවේ කාල කලාප දත්ත පවතිනදැයි පරීක්ෂා කරන්න.
SELECT * FROM mysql.time_zone_name;
ප්රතිඵලය හිස් නම්, ඊළඟ පියවරට ගොස් දත්ත ආයාත කරන්න.
3-2. කාල කලාප දත්ත ආයාත කිරීමේ පියවරයන්
ලිනක්ස් පරිසර සඳහා:
- කාල කලාප දත්ත යාවත්කාලීන කිරීම:
sudo mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
- ආයාත කිරීමෙන් පසු සත්යාපනය:
SELECT * FROM mysql.time_zone_name;
වින්ඩෝස් පරිසර සඳහා:
වින්ඩෝස් හි, කාල කලාප දත්ත පෙරනිමි ලෙස ඇතුළත් නොවිය හැක. එම අවස්ථාවේ, නිල මූලාශ්රයෙන් ගොනු බාගත කර, අතින් ආයාත කළ යුතුය.
4. කාල කලාප සැකසුම් ස්ථිර හා තාවකාලික ලෙස සකස් කිරීම
මෙම කොටසෙහි, MySQL කාල කලාප සැකසුම් තාවකාලික සහ ස්ථිර ලෙස වෙනස් කිරීම පිළිබඳ විස්තරාත්මකව පැහැදිලි කරමු. ඔබේ භාවිතා කේස් අනුව සුදුසු ක්රමය තෝරා, පද්ධතිය වඩාත් ස flexibilily කළ හැක.
4-1. තාවකාලික කාල කලාප සැකසුම්
තාවකාලික කාල කලාප සැකසුම් සැසියකට පමණක් යෙදේ. දත්ත ගබඩා සම්බන්ධතාවය අවසන් වන විට ඒවා නැවත සකස් වන බැවින්, තාවකාලික දත්ත මෙහෙයුම් හෝ පරීක්ෂණ අරමුණු සඳහා සාමාන්යයෙන් භාවිතා වේ.
සැකසීමේ ක්රමය
ඔබට පහත SQL විධානය භාවිතා කර සැසියේ වේලාව කලාපය වෙනස් කළ හැකිය:
-- Set the session time zone to Japan Standard Time (JST)
SET time_zone = '+09:00';
විකල්පයක් ලෙස, ඔබට වේලාව කලාපය නාමයෙන් නියම කළ හැකිය.
SET time_zone = 'Asia/Tokyo';
Verify the Applied Setting
සැකසීම නිවැරදිව යෙදුණාදැයි තහවුරු කිරීමට, පහත විධානය ක්රියාත්මක කරන්න:
SELECT @@session.time_zone;
4-2. Permanent Time Zone Settings
ස්ථාවර සැකසුම් සම්පූර්ණ සේවාදායකයට අදාළ වන අතර නිෂ්පාදන පරිසර හෝ දිගුකාලීන පද්ධති වල භාවිතා වේ. MySQL සේවාදායකය නැවත ආරම්භ කළ පසුද මෙම සැකසුම ක්රියාත්මකව පවතී.
Method 1: Specify in the Configuration File
ක්රමය 1: වින්යාස ගොනුවේ නියම කරන්න
- MySQL වින්යාස ගොනුව (
my.cnfහෝmy.ini) විවෘත කරන්න. [mysqld]කොටසේ යටතේ පහත රේඛාව එක් කරන්න.[mysqld] default-time-zone = '+09:00'
හෝ, ඔබට වේලාව කලාප නාමයක් නියම කිරීමට අවශ්ය නම්:
[mysqld]
default-time-zone = 'Asia/Tokyo'
- වෙනස්කම් යෙදීමට MySQL නැවත ආරම්භ කරන්න.
sudo systemctl restart mysql
4-3. Important Notes When Changing Settings
4-3. සැකසුම් වෙනස් කරන විට වැදගත් සටහන්
- ඔබේ යෙදුම සමඟ අනුකූලතාව තහවුරු කරන්න
- ඔබේ යෙදුමට තමන්ගේ වේලාව කලාප සැකසුම් තිබේ නම්, ඒවා සේවාදායක වින්යාසය සමඟ අනුකූල බවට වග බලා ගන්න.
- වේලාව කලාප වගු නවතම බවට සහතික වන්න
- නවතම වේලාව කලාප දත්ත ආයාත කර නොමැති නම්, දෝෂ ඇති විය හැක.
- ලොග් සහ බැකප් ගොනු වල වේලාව වෙනස්කම් පිළිබඳ අවධානයෙන් සිටින්න
- පවතින ලොග් සහ බැකප් ගොනු මුල් වේලාව කලාපය මත පදනම්ව ඇති බැවින්, වෙනස්කම් කිරීමෙන් පසු දත්ත සැලකිලිමත් ලෙස හසුරවන්න.

5. Application Integration and Important Configuration Notes
MySQL වේලාව කලාප සැකසුම් යෙදුම් සමඟ ඒකාබද්ධ කිරීමේදී විශේෂ අවධානයක් අවශ්ය වේ. යෙදුම සහ දත්ත ගබඩා වේලාව කලාප එකිනෙකට නොගැලපේ නම්, දත්ත අනුකූලතාවේ ගැටළු ඇති විය හැක. මෙම කොටසේ, ප්රායෝගික ඒකාබද්ධ කිරීමේ ක්රම සහ ප්රධාන සැලකිලිමත් කරුණු පැහැදිලි කරමු.
5-1. Basics of Application Integration
MySQL සමඟ යෙදුමක් ඒකාබද්ධ කරන විට, සේවාදායක වේලාව කලාපය සහ යෙදුම් වේලාව කලාපය සමඟ සමාන කිරීම අවශ්ය වේ. පහත සාමාන්ය වැඩසටහන් භාෂා වල වින්යාස උදාහරණ ඇත.
PHP and MySQL Time Zone Configuration
PHP හි, date_default_timezone_set ක්රියාවලිය භාවිතා කර වේලාව කලාපය සකස් කළ හැක.
<?php
// Set PHP time zone
date_default_timezone_set('Asia/Tokyo');
// Set MySQL time zone at connection
$db = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password');
$db->exec("SET time_zone = '+09:00'");
?>
Python and MySQL Time Zone Configuration
Python හි, pymysql හෝ mysql-connector-python භාවිතා කර MySQL සම්බන්ධ කළ හැක.
import pymysql
import pytz
from datetime import datetime
# Specify time zone
tz = pytz.timezone('Asia/Tokyo')
# Connect to the database
connection = pymysql.connect(
host='localhost',
user='username',
password='password',
database='testdb',
cursorclass=pymysql.cursors.DictCursor
)
with connection.cursor() as cursor:
# Set session time zone
cursor.execute("SET time_zone = '+09:00'")
# Test query
cursor.execute("SELECT NOW()")
result = cursor.fetchone()
print("Current Time:", result['NOW()'])
5-2. Important Considerations When Configuring Time Zones
1. Prevent Time Zone Mismatch
- සේවාදායකය සහ යෙදුමේ වේලාව කලාප වෙනස් නම්, දත්ත අනුකූලතාවට බලපෑම් විය හැක.
2. Date Data Storage Format
- වේලාව කලාප සමඟ කටයුතු කරන විට,
DATETIMEවර්ගය සහTIMESTAMPවර්ගය අතර වෙනස ගැන දැනුවත් වන්න.-- Insert the current time INSERT INTO events (event_time) VALUES (NOW());
මෙම අවස්ථාවේ, DATETIME සහ TIMESTAMP අතර ප්රතිඵල වෙනස් විය හැක. ඔබේ භාවිතය අනුව සුදුසු වර්ගය තෝරන්න.
6. Troubleshooting and FAQ Section
මෙම කොටසේ, MySQL වේලාව කලාප සැකසුම් සම්බන්ධ සාමාන්ය ගැටළු සහ ඒවායේ විසඳුම් පැහැදිලි කරමු. එසේම, නිතර අසන ප්රශ්න (FAQ) ආකාරයෙන් පිළිතුරු ලබා දේ.
6-1. පොදු දෝෂ සහ විසඳුම්
1. දෝෂය: “නොදන්නා හෝ වැරදි කාල කලාපය”
ඇතුළත් වන අවස්ථාව:
SET time_zone = 'Asia/Tokyo';
ඔබ මෙම විධානය ක්රියාත්මක කරන විට “නොදන්නා හෝ වැරදි කාල කලාපය” යන දෝෂ පණිවුඩය දැකිය හැක.
කාරණය:
කාල කලාප දත්ත දත්ත ගබඩාවට ආයාත කර නොමැති හෝ එය දූෂිත වී ඇත.
විසඳුම:
- වත්මන් කාල කලාප දත්ත පරීක්ෂා කරන්න:
SELECT * FROM mysql.time_zone_name;
- කාල කලාප දත්ත හිස් නම්, පහත විධානය භාවිතා කර එය ආයාත කරන්න:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
- ආයාත කිරීමෙන් පසු, කාල කලාපය නැවත සකස් කිරීමට උත්සාහ කරන්න.
2. දෝෂය: “පද්ධති කාල කලාපය දත්ත ගබඩා කාල කලාපයෙන් වෙනස් වේ”
ඇතුළත් වන අවස්ථාව:
සේවාදායක පද්ධති කාල කලාපය සහ MySQL දත්ත ගබඩා කාල කලාපය වෙනස් වන විට අනතුරු ඇඟවීමක් පෙන්වයි.
කාරණය:
පද්ධති කාලය සහ MySQL ගෝලීය වින්යාසය නොගැලපේ.
විසඳුම:
SET GLOBAL time_zone = '+09:00';
6-2. නිතර අසන ප්රශ්න (FAQ) කොටස
Q1. සේවාදායකය සහ යෙදුම සඳහා වෙනස් කාල කලාප භාවිතා කළ හැදැයි?
පිළිතුර:
ඔව්, නමුත් අවධානය අවශ්යයි. කාල කලාප සමාන කිරීම සාමාන්යයෙන් හොඳ පුරුදු ලෙස සැලකේ.
Q2. UTC හි ගබඩා කර ඇති දත්ත ස්ථානීය කාලයට පරිවර්තනය කළ හැදැයි?
පිළිතුර:
ඔබ පහත SQL භාවිතා කර එය පරිවර්තනය කළ හැක:
SELECT CONVERT_TZ('2023-12-23 10:00:00', 'UTC', 'Asia/Tokyo') AS converted_time;
6-3. දෝෂ නිරාකරණ සාරාංශය
- පොදු දෝෂ සාමාන්යයෙන් කාල කලාප දත්ත ආයාත නොකිරීම හෝ පද්ධති සැකසුම් සමඟ නොගැලපීම නිසා සිදුවේ.
- දෝෂ සිදුවන විට වේගයෙන් ප්රතිචාර දැක්වීමට පරීක්ෂා සහ නිවැරදි කිරීමේ විධාන භාවිතා කරන්න.
- FAQ කොටස ප්රායෝගික ප්රශ්නවලට පිළිතුරු ලබා දී, ආරම්භකයන්ට විශ්වාසයෙන් සැකසුම් සකස් කිරීමට උපකාරී වේ.
7. සාරාංශය සහ ඊළඟ පියවර
මෙම ලිපියේ, අපි MySQL කාල කලාප සැකසුම් පිළිබඳව සවිස්තරාත්මකව පැහැදිළි කර ඇත. මෙම කොටස තුළ, ප්රධාන කරුණු කෙටි ලෙස සමාලෝචනය කර, ඔබ ගත යුතු ඊළඟ පියවරයන් යෝජනා කරමු.
7-1. ප්රධාන ග්රහණයන්
1. MySQL කාල කලාප සැකසුම්的重要性
- කාල කලාප වින්යාසය වෙන්කර ගැනීම් පද්ධති, ලොග් කළමනාකරණය, සහ දත්ත විශ්ලේෂණය තුළ නිරවද්යතාව රැක ගැනීමට අත්යවශ්ය වේ.
- වැරදි සැකසුම් දත්ත අසමතුලිතතා සහ දෝෂ ඇති කරයි, එබැවින් නිසි කළමනාකරණය අවශ්ය වේ.
2. මූලික දැනුම සහ කාල කලාප සැකසුම් පරීක්ෂා කිරීමේ ක්රම
- ඔබ පද්ධති කාලය සහ දත්ත ගබඩා කාලය අතර වෙනස ඉගෙන ගත්තා.
- SQL විධාන භාවිතා කර වත්මන් සැකසුම් පරීක්ෂා කිරීමේ ක්රමය අපි පැහැදිළි කළෙමු.
3. කාල කලාප දත්ත ආයාත කිරීම සහ සූදානම් කිරීම
- කාල කලාප දත්ත පරීක්ෂා කිරීම සහ ආයාත කිරීම සඳහා ප්රායෝගික උදාහරණ ලබා දුන්නෙමු.
7-2. හොඳ පුරුදු සහ මෙහෙයුම් උපදෙස්
- කාල කලාප දත්ත නිතර යාවත්කාලීන කරන්න
- නිතරම ඔබ නවතම කාල කලාප දත්ත භාවිතා කරමින් සිටිනවාදැයි තහවුරු කර, අවශ්ය විට යාවත්කාලීන කරන්න.
- පරීක්ෂණ පරිසරයක සැකසුම් තහවුරු කරන්න
- නිෂ්පාදන පරිසරයේ වෙනස්කම් යෙදීමට පෙර, පරීක්ෂණ පරිසරයක සැකසුම් සත්ය පරීක්ෂා කරන්න.
7-3. ක්රියාත්මක වීම
ඔබ මේ දැනුම ලබා ගත්තාම, ඔබේ පරිසරයේ MySQL කාල කලාප සැකසුම් සමඟ සෘජුව වැඩ කිරීමට උත්සාහ කරන්න. අපි පහත පියවර අනුගමනය කිරීමට යෝජනා කරමු:
- ඔබේ පරිසරය සකස් කර තහවුරු කරන්න
- ඔබේ සංවර්ධන පරිසරයේ කාල කලාප තහවුරු කිරීමේ විධාන ක්රියාත්මක කරන්න.
- සැකසුම් වෙනස් කිරීම පුහුණු කරන්න
- තාවකාලික සහ ස්ථිර සැකසුම් දෙකම පරීක්ෂා කර, ඒවා කෙසේ ක්රියා කරනදැයි අවබෝධ කර ගන්න.
- දෝෂ හසුරවීම අනුකරණය කරන්න
- FAQ සහ දෝෂ නිරාකරණ කොටස් වලින් ඉදිරිපත් කරන ලද පරිසරයන් පුහුණු කර, ඔබේ අවබෝධය ගැඹුරු කර ගන්න.
7-4. අවසාන පණිවුඩය
MySQL කාල කලාප වින්යාසය දත්ත නිරවද්යතාව සහ විශ්වාසනීයතාව රැක ගැනීමට අත්යවශ්ය කුසලතාවකි. අපි මූලික කරුණු සිට උසස් භාවිතය දක්වා සියල්ල ආවරණය කළෙමු. වාස්තුකාලීන මෙහෙයුම් වලදී, මෙම ලිපියේ ඉදිරිපත් කරන ලද විධාන සහ හොඳ පුරුදු අනුගමනය කර, ඔබේ පරිසරයට අනුව සවිස්තරාත්මකව යොදා ගන්න.
ඔබගේ අනාගත දත්ත ගබඩා කළමනාකරණය සහ යෙදුම් සංවර්ධන උත්සාහයන්ට මෙම දැනුම සහාය වනු ඇතැයි අපි බලාපොරොත්තු වෙමු.


