MySQL ලොග් කළමනාකරණ මාර්ගෝපදේශය: වින්‍යාසය, නිරීක්ෂණය, සහ හොඳම ක්‍රමෝපායන්

目次

1. හැඳින්වීම

MySQL ලොග් කළමනාකරණයේ භූමිකාව සහ වැදගත්කම

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

උදාහරණයක් ලෙස, සේවාදායකයක් අසාර්ථක වූ විට, එහි හේතුව දෝෂ ලොග් එකෙන් හඳුනාගත හැකිය. මන්දගාමී විමසුම් ලොග් එක විශ්ලේෂණය කිරීමෙන් කාර්ය සාධන අඩු වීම වැලැක්වීමට ක්‍රියාමාර්ග ගත හැකිය. ලොග් නිවැරදිව සැකසීම සහ කළමනාකරණය කිරීම ඔබේ දත්ත ගබඩාවේ ස්ථායීත්වය සහ කාර්යක්ෂමතාවය ගණනාවක් වැඩිදියුණු කරයි.

මෙම ලිපියේ අරමුණ සහ ඉලක්ක ප්‍රේක්ෂකයන්

මෙම ලිපිය MySQL ලොග් කළමනාකරණය පිළිබඳ මූලික සංකල්ප සහ විශේෂිත සැකසුම් ක්‍රම විස්තර කරයි. එය පහත සඳහන් පාඨකයන් සඳහා යොමු කර ඇත:

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

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

ඊළඟ පියවර

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

2. MySQL ලොග් ප්‍රධාන වර්ග

දෝෂ ලොග්

භූමිකාව සහ අරමුණ

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

භාවිතා නිරූපණය

  • සේවාදායකය ආරම්භ කිරීමේදී සිදුවන දෝෂ විශ්ලේෂණය කිරීම
  • සැකසුම් දෝෂ හෝ ගොනු අවසර ගැටළු හඳුනා ගැනීම
  • බිඳ වැටීම් වලින් සුවය ලබා ගැනීම

දෝෂ ලොග් උදාහරණයක්

2023-12-22T10:30:45.123456Z 0 [ERROR] [MY-013132] [Server] Plugin 'InnoDB' initialization failed.
2023-12-22T10:30:45.123456Z 0 [ERROR] [MY-010119] [Server] Aborting

සාමාන්‍ය විමසුම් ලොග්

භූමිකාව සහ අරමුණ

සාමාන්‍ය විමසුම් ලොග් MySQL සේවාදායකයට යවන සියලු SQL විමසුම් ලියා තබයි. එය පරිශීලක ක්‍රියාකාරකම් නිරීක්ෂණය කිරීම සහ පරීක්ෂණ පරිසරවල හැසිරීම තහවුරු කිරීම සඳහා ප්‍රයෝජනවත් වේ.

භාවිතා නිරූපණය

  • පරිශීලක මෙහෙයුම් සහ ලොග් කළමනාකරණය නිරීක්ෂණය කිරීම
  • ක්‍රියාත්මක වූ SQL ප්‍රකාශ විශ්ලේෂණය කිරීම සහ හැසිරීම තහවුරු කිරීම
  • දෝෂ නිරාකරණය කිරීමේදී විමසුම් විශ්ලේෂණය කිරීම

සාමාන්‍ය විමසුම් ලොග් උදාහරණයක්

2023-12-22T10:35:00.123456Z 10 Query SELECT * FROM users WHERE id=1;
2023-12-22T10:35:01.123456Z 11 Query UPDATE users SET status='active' WHERE id=1;

මන්දගාමී විමසුම් ලොග්

භූමිකාව සහ අරමුණ

මන්දගාමී විමසුම් ලොග් ක්‍රියාත්මක කාලය සකස් කර ඇති සීමාව ඉක්මවන විමසුම් ලියා තබයි. එය කාර්ය සාධන bottleneck හඳුනා ගැනීමට සහ කාර්යක්ෂම SQL ලිවීම සහ දර්ශක (index) සුදුසුකම් ලබා දීමට උපකාරී වේ.

භාවිතා නිරූපණය

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

මන්දගාමී විමසුම් ලොග් උදාහරණයක්

# Time: 2023-12-22T10:40:00
# User@Host: root[root] @ localhost []
# Query_time: 12.345  Lock_time: 0.001  Rows_sent: 1000  Rows_examined: 20000
SELECT * FROM orders WHERE status='pending';

බයිනරි ලොග්

භූමිකාව සහ අරමුණ

බයිනරි ලොග් දත්ත ගබඩාවේ දත්ත වෙනස් කිරීමේ ක්‍රියා (INSERT, UPDATE, DELETE වැනි) ලියා තබයි. එය දත්ත ප්‍රතිසාධනය සහ ප්‍රතිලේඛනය (දත්ත ගොඩනැගීම) සඳහා අත්‍යවශ්‍ය ලොග් එකකි.

භාවිතා නිරූපණය

  • දත්ත ගබඩා අසාර්ථකත්වයක පසු නවතම තත්ත්වය ප්‍රතිසාධනය කිරීම
  • ප්‍රතිලේඛන සැකසුම් හරහා දත්ත සමමුහුර්ත කිරීම කළමනාකරණය කිරීම
  • වෙනස්කම් ඉතිහාසය නිරීක්ෂණය කිරීම සහ පරීක්ෂණ සඳහා සහය වීම

බයිනරි ලොග් උදාහරණයක් (mysqlbinlog මගින් ප්‍රතිදානය)

# at 12345
#2023-12-22T10:45:00 server id 1  end_log_pos 234
INSERT INTO orders (id, status) VALUES (1, 'pending');

සාරාංශය

මෙම ලොග් සෑම එකක්ම වෙනත් අරමුණක් සපයයි සහ MySQL පරිපාලනය සහ නිරීක්ෂණය සඳහා අත්‍යවශ්‍ය කොටසකි. ඊළඟ කොටසේ, අපි මෙම ලොග් සකස් කිරීමේ විශේෂ ක්‍රියාමාර්ග පැහැදිලි කරමු, වින්‍යාස උදාහරණ සහ ප්‍රායෝගික භාවිතය සඳහා නියැලූ කේත උදාහරණ ඇතුළත් කරමින්.

3. සෑම ලොග් එකක්ම කොහොමද සකස් කරන්නේ

දෝෂ ලොග් සකස් කිරීම

පියවර

MySQL හි මුල් වින්‍යාසයේ දෝෂ ලොග් පෙරනිමි ලෙස සක්‍රිය වේ, නමුත් ඔබට එහි ස්ථානය සහ ආකෘතිය අභිරුචි කරගත හැක.

වින්‍යාස උදාහරණ

  1. MySQL වින්‍යාස ගොනුව ( my.cnf හෝ my.ini ) සංස්කරණය කරන්න.
    [mysqld]
    log_error = /var/log/mysql/error.log
    
  1. සැකසුම් ක්‍රියාත්මක කිරීමට MySQL සේවාව නැවත ආරම්භ කරන්න.
    sudo systemctl restart mysql
    

මූලික කරුණු

  • සේවාදායකයේ තැටි ධාරිතාවය සැලකිල්ලට ගනිමින් දෝෂ ලොග් ප්‍රතිදාන ස්ථානය සකසන්න.
  • ලොග් රෝටේෂන් සකස් කර පරණ ලොග් ස්වයංක්‍රීයව ඉවත් කරගන්න, එය කළමනාකරණය පහසු කරයි.

සාමාන්‍ය විමසුම් ලොග් සකස් කිරීම

පියවර

සාමාන්‍ය විමසුම් ලොග් පෙරනිමි ලෙස අක්‍රිය වේ. එය සක්‍රිය කිරීමට, පහත සැකසුම් එක් කරන්න.

වින්‍යාස උදාහරණ

  1. වින්‍යාස ගොනුව සංස්කරණය කරන්න.
    [mysqld]
    general_log = 1
    general_log_file = /var/log/mysql/general.log
    
  1. MySQL සේවාව නැවත ආරම්භ කරන්න.
    sudo systemctl restart mysql
    

සටහන්

  • සාමාන්‍ය විමසුම් ලොග් සියලු SQL ප්‍රකාශන ලියා තබන බැවින්, තැටි භාවිතය ඉක්මනින් වැඩි විය හැක. අවශ්‍ය නොවන විට එය අක්‍රිය කරන්න, හෝ සුදුසු ලෙස රෝටේෂන් සකස් කරන්න.

මන්දගාමී විමසුම් ලොග් සකස් කිරීම

පියවර

මන්දගාමී විමසුම් ලොග් කාර්ය සාධන සැකසීම සඳහා ප්‍රයෝජනවත් බැවින්, එය අවධානයෙන් සකස් කළ යුතුය.

වින්‍යාස උදාහරණ

  1. වින්‍යාස ගොනුව සංස්කරණය කරන්න.
    [mysqld]
    slow_query_log = 1
    slow_query_log_file = /var/log/mysql/slow.log
    long_query_time = 2
    
  1. MySQL සේවාව නැවත ආරම්භ කරන්න.
    sudo systemctl restart mysql
    

විස්තරය

  • slow_query_log : මන්දගාමී විමසුම් ලොග් සක්‍රිය කරයි (1 = සක්‍රිය, 0 = අක්‍රිය).
  • slow_query_log_file : ලොග් ගොනුව සුරැකෙන මාර්ගය.
  • long_query_time : ලොග් කිරීම සඳහා අවශ්‍ය කාල සීමාව (තත්පර වල).

අතිරේක සටහන

  • pt-query-digest මන්දගාමී විමසුම් විශ්ලේෂණ මෙවලම භාවිතා කිරීමෙන් ලොග් විශ්ලේෂණය ඉතා පහසු වේ.

බයිනරි ලොග් සකස් කිරීම

පියවර

බයිනරි ලොග් පෙරනිමි ලෙස අක්‍රිය වේ, නමුත් ප්‍රතිලේඛනය (replication) භාවිතා කරන විට හෝ බැකප් සඳහා අවශ්‍ය වන විට එය සක්‍රිය කළ යුතුය.

වින්‍යාස උදාහරණ

  1. වින්‍යාස ගොනුව සංස්කරණය කරන්න.
    [mysqld]
    log_bin = /var/log/mysql/mysql-bin
    server_id = 1
    binlog_format = ROW
    expire_logs_days = 7
    
  1. MySQL සේවාව නැවත ආරම්භ කරන්න.
    sudo systemctl restart mysql
    

පරාමිතීන් විස්තර

  • log_bin : බයිනරි ලොග් සුරැකිය යුතු ස්ථානය නිරූපණය කරයි.
  • server_id : ප්‍රතිලේඛන වින්‍යාසයට අවශ්‍ය සේවාදායක හැඳුනුම්කාරකය.
  • binlog_format : බයිනරි ලොග් ආකෘතිය. ROW පේළි-මට්ටමේ වෙනස්කම් ලියා තබයි.
  • expire_logs_days : රඳවා තබා ගැනීමේ කාලය (දින වල). පරණ ලොග් ස්වයංක්‍රීයව මකා දමයි.

සාරාංශය

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

4. ලොග් ගොනු ස්ථාන සහ කළමනාකරණය

ලොග් ගොනු ස්ථාන පරීක්ෂා කිරීම සහ සකස් කිරීම

පෙරනිමි ස්ථාන

MySQL ලොග් ගොනු ස්ථාන පරිසරය සහ ස්ථාපන ක්‍රමය අනුව වෙනස් වේ, නමුත් සාමාන්‍යයෙන් පහත සඳහන් ස්ථානවල සුරැකේ:

  • දෝෂ ලොග්: /var/log/mysql/error.log
  • සාමාන්‍ය විමසුම් ලොග්: /var/log/mysql/general.log
  • මන්දගාමී විමසුම් ලොග්: /var/log/mysql/slow.log
  • බයිනරි ලොග්: /var/lib/mysql/mysql-bin.*

ස්ථානය අභිරුචි කිරීම

ගබඩා ස්ථානය වෙනස් කිරීමට, වින්‍යාස ගොනුව (my.cnf හෝ my.ini) සංස්කරණය කරන්න.

උදාහරණය: දෝෂ ලොග් ස්ථානය වෙනස් කිරීම

[mysqld]
log_error = /custom/log/mysql_error.log

වින්‍යාසය යාවත්කාලීන කිරීමෙන් පසු, වෙනස්කම් ක්‍රියාත්මක කිරීමට MySQL නැවත ආරම්භ කරන්න.

sudo systemctl restart mysql

ප්‍රධාන කරුණු

  • MySQL පරිශීලකයාට ලිවිය හැකි ලෙස ගමනාන්ත නාමාවලියට සුදුසු අවසර සකසන්න.
  • ලොග් ගොනු ගබඩා කර ඇති තැටි ධාරිතාව නිතර නිරීක්ෂණය කරන්න.

ලොග් රෝටේෂන් සැකසීම

රෝටේෂන් උදාහරණය (logrotate භාවිතා කරමින්)

  1. වින්‍යාස ගොනුව සාදන්න හෝ සංස්කරණය කරන්න.
    sudo nano /etc/logrotate.d/mysql
    
  1. පහත අන්තර්ගතය එක් කරන්න.
    /var/log/mysql/*.log {
        daily
        rotate 7
        compress
        delaycompress
        missingok
        notifempty
        create 640 mysql mysql
        postrotate
            /usr/bin/mysqladmin flush-logs
        endscript
    }
    

වින්‍යාසය යොදන්න

sudo logrotate -f /etc/logrotate.d/mysql

තැටි ඉඩ කළමනාකරණය සඳහා හොඳම ක්‍රියාමාර්ග

තැටි භාවිතය පරීක්ෂා කිරීමේ විධාන

du -sh /var/log/mysql

ලබා ගත හැකි තැටි ඉඩ පරීක්ෂා කරන්න:

df -h

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

දින 30 කට පසු පැරණි ලොග් ගොනු ස්වයංක්‍රීයව මකා දමයි.

#!/bin/bash
find /var/log/mysql/*.log -mtime +30 -exec rm {} \;

ලොග් ගොනු සංකේතනය සහ ආරක්ෂක කළමනාකරණය

අවසර සැකසීමේ උදාහරණය

chmod 640 /var/log/mysql/*.log
chown mysql:mysql /var/log/mysql/*.log

සංකේතනය උදාහරණය

ඔබට OpenSSL භාවිතා කර ලොග් සංකේතනය කළ හැක.

openssl enc -aes-256-cbc -salt -in /var/log/mysql/general.log -out /var/log/mysql/general.log.enc

සාරාංශය

MySQL ලොග් ගොනු ගබඩා ස්ථාන, රෝටේෂන් සැකසුම්, තැටි ධාරිතාව කළමනාකරණය නිසි ලෙස සකස් කිරීමෙන් ආරක්ෂිතව හා කාර්යක්ෂමව කළ හැක. විශේෂයෙන්, සංකේතනය සහ අවසර කළමනාකරණය ආරක්ෂාව තවත් ශක්තිමත් කරයි.

5. ලොග් සාර්ථකව භාවිතා කිරීමේ ක්‍රම

දෝෂ නිරාකරණය

දෝෂ ලොග් භාවිතා කිරීම

දෝෂ ලොග් සේවාදායකය ආරම්භ කිරීම සහ ක්‍රියාකාරිත්වය සම්බන්ධ ගැටළු හඳුනා ගැනීමට උපකාරී වේ.

තත්ත්වය: MySQL සේවාදායකය ආරම්භ නොවේ.
දෝෂ ලොග් පරීක්ෂා කරන්න:

sudo tail -n 20 /var/log/mysql/error.log

ලොග් උදාහරණය:

2023-12-22T10:30:45.123456Z 0 [ERROR] [MY-013132] [Server] Plugin 'InnoDB' initialization failed.
2023-12-22T10:30:45.123456Z 0 [ERROR] [MY-010119] [Server] Aborting

විසඳුම:

  1. InnoDB වින්‍යාසය පරීක්ෂා කර, දෝෂයක් හමු වුවහොත්, ප්‍රතිසාධන මාදිලිය භාවිතා කර එය අලුත්වැඩියා කරන්න.
    [mysqld]
    innodb_force_recovery = 1
    
  1. වින්‍යාසය යාවත්කාලීන කිරීමෙන් පසු, MySQL නැවත ආරම්භ කර ප්‍රතිසාධනය උත්සාහ කරන්න.

සාමාන්‍ය විමසුම් ලොග් භාවිතා කිරීම

තත්ත්වය: නියමිත පරිශීලකයෙකු සැකසිය හැකි ක්‍රියාකාරකම් සිදු කරයි.
විමසුම් ලොග් පරීක්ෂා කරන්න:

sudo tail -n 20 /var/log/mysql/general.log

ලොග් උදාහරණය:

2023-12-22T10:35:00.123456Z 10 Query SELECT * FROM users WHERE id=1;
2023-12-22T10:35:01.123456Z 11 Query DELETE FROM users WHERE id=1;

විසඳුම:

  1. ක්‍රියාකාරකම් ඉතිහාසය අනුව සැකසිය පරිශීලකයින් හඳුනාගෙන ප්‍රවේශය සීමා කරන්න.
  2. අවශ්‍ය නම් අවසර සැකසුම් සමාලෝචනය කර යාවත්කාලීන කරන්න.

කාර්ය සාධන සුසංස්කරණය

මන්දගාමී විමසුම් ලොග් භාවිතා කිරීම

තත්ත්වය: නියමිත පිටුව මන්දගාමීව පූරණය වේ.
මන්දගාමී විමසුම් ලොග් පරීක්ෂා කරන්න:

sudo tail -n 20 /var/log/mysql/slow.log

ලොග් උදාහරණය:

# Time: 2023-12-22T10:40:00
# Query_time: 12.345  Lock_time: 0.001  Rows_sent: 1000  Rows_examined: 20000
SELECT * FROM orders WHERE status='pending';

විශ්ලේෂණය සහ සුපරිමාණ කිරීම:

  1. අවශ්‍ය නොවන රෙකෝඩ් කියවීම් අඩු කිරීම සඳහා WHERE කොන්දේසි සමාලෝචනය කරන්න.
  2. අවශ්‍ය නම් ඉන්ඩෙක්ස් එකතු කරන්න.
    ALTER TABLE orders ADD INDEX (status);
    

අතිරේක මෙවලම් භාවිතා කිරීම:

  • pt-query-digest : මන්දගාමී විමසුම් ලොග් විශ්ලේෂණය සඳහා මෙවලමක්.
    pt-query-digest /var/log/mysql/slow.log
    

ආරක්ෂක පරීක්ෂණය

බයිනරි ලොග් භාවිතා කිරීම

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

mysqlbinlog /var/lib/mysql/mysql-bin.000001 | grep 'UPDATE users'

ලොග් උදාහරණය:

# at 12345
#2023-12-22T10:45:00 server id 1  end_log_pos 234
UPDATE users SET status='active' WHERE id=1;

ප්‍රතිකාර:

  1. ක්‍රියාත්මක කළ විමසුම් සමාලෝචනය කර මූලාශ්‍ර IP ලිපිනය හෝ පරිශීලක හැඳුනුම හඹා බලන්න.
  2. අවසර කළමනාකරණය සහ මුරපද ප්‍රතිපත්ති නැවත ඇගයන්න.
  3. ෆයර්වෝල් සැකසුම් ශක්තිමත් කර IP සීමා එක් කරන්න.

අතිරේක මෙවලම් භාවිතා කිරීම:

  • MySQL Enterprise Audit : ලොග් පරීක්ෂණ හැකියාවන් වැඩිදියුණු කරයි.
  • Fail2Ban : අනුමත නොකළ ප්‍රවේශය හඳුනා ගැනීම සහ අවහිර කිරීම ස්වයංක්‍රීය කරයි.

සාරාංශය

MySQL ලොග්‌ ගොනු ගැටළු විසඳීම, කාර්ය සාධන වැඩිදියුණු කිරීම, සහ ආරක්ෂාව වැඩිදියුණු කිරීම සඳහා අත්‍යවශ්‍ය මෙවලම් වේ. දෝෂ සහ විමසුම් ලොග්‌ භාවිතයෙන් රෝගනායකරණය, මන්දගාමී විමසුම් සුදානම් කිරීම, සහ බයිනරි ලොග්‌ සමඟ ඉතිහාසය නිරීක්ෂණය කිරීම වැනි ප්‍රායෝගික තාක්ෂණයන් අත්පත් කරගන්න.

6. වැදගත් සැලකිලි සහ හොඳ පුරුදු

සේවාදායක භාර පාලන සැලකිලි

ලොග් කිරීම පද්ධති භාරයට ඇති බලපෑම

ලොග් කිරීම පද්ධති සම්පත් භාවිතා කරයි, සහ සැකසුම් අනුව, එය සේවාදායකයට අතිරේක භාරයක් පවරා හැක. පහත සැකසුම් වෙත විශේෂ අවධානයක් දෙන්න:

  • සාමාන්‍ය විමසුම් ලොග් සක්‍රිය කිරීම : එය සියලු විමසුම් ලියා තබන බැවින්, උච්ච‑භාර පරිසරවල කාර්ය සාධනය අඩු කරයි. අවශ්‍ය විට පමණක් සක්‍රිය කරන්න හෝ විමසුම් සීමා කර ලොග් කිරීම සීමා කරන්න.
  • මන්දගාමී විමසුම් ලොග් සීමා සකස් කිරීම : සීමාව ඉතා අඩු ලෙස සකස් කර ඇත්නම්, බොහෝ ලොග් ගොනු ජනනය විය හැක. නිවැරදි සැකසුම අත්‍යවශ්‍ය වේ.

භාර පරීක්ෂණ කිරීම

ලොග් සැකසුම් වෙනස් කිරීමෙන් පසු, පද්ධතියේ බලපෑම තහවුරු කිරීම සඳහා භාර පරීක්ෂණයක් සිදු කරන්න.

mysqlslap --user=root --password=password --concurrency=50 --iterations=10 --query="SELECT * FROM test_table;" --create-schema=testdb

ඩිස්ක් ධාරිතාව කළමනාකරණ උපදෙස්

ධාරිතාව නිරීක්ෂණය

ලොග් ගොනු කාලයත් සමඟ විශාල වෙයි, එබැවින් ඩිස්ක් ධාරිතාව නිතර නිරීක්ෂණය කළ යුතුය.

භාවිතය පරීක්ෂා කරන්න:

du -sh /var/log/mysql/

ලබාගත හැකි ඉඩ පරීක්ෂා කරන්න:

df -h

රෝටේෂන් සහ ස්වයංක්‍රීය පිරිසිදු කිරීම

පැරණි ලොග් ගොනු ස්වයංක්‍රීයව මකා දැමීමට සහ ධාරිතාව කළමනාකරණ කාර්යක්ෂමතාව වැඩිදියුණු කිරීමට ලොග් රෝටේෂන් සකසන්න.

/var/log/mysql/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 640 mysql mysql
    postrotate
        /usr/bin/mysqladmin flush-logs
    endscript
}

ආරක්ෂක හොඳ පුරුදු

ප්‍රවේශ සීමා සැකසීම

ලොග් ගොනු සංවේදී තොරතුරු අඩංගු විය හැකි බැවින්, සුදුසු ප්‍රවේශ සීමා සැකසිය යුතුය.

chmod 640 /var/log/mysql/*.log
chown mysql:mysql /var/log/mysql/*.log

ගුප්තකරණය මගින් ආරක්ෂා කිරීම

ලොග් ගොනු ගුප්තකරණය කිරීම දත්ත රහිත වීමේ අවදානම අඩු කරයි.

ගුප්තකරණ උදාහරණය:

openssl enc -aes-256-cbc -salt -in /var/log/mysql/general.log -out /var/log/mysql/general.log.enc

උපස්ථාපන සහ ප්‍රතිසාධන සැලසුම් වැදගත්කම

නිතිපතා උපස්ථාපන සිදු කරන්න

අපදා අවස්ථා වල ප්‍රතිසාධනය සඳහා, දත්ත ගබඩා සමඟ ලොග් ගොනු නිතර උපස්ථාපනය කරන්න.

mysqldump -u root -p --all-databases > backup.sql

ප්‍රතිසාධන ක්‍රියාමාර්ග පරීක්ෂා කරන්න

උපස්ථාපන සාර්ථකව ප්‍රතිස්ථාපනය කළ හැකිදැයි නිතර පරීක්ෂා කර ක්‍රියාමාර්ග ලියවන්න.

ලොග් දත්ත සංරක්ෂණ කළමනාකරණය

දිගුකාලීන ගබඩා අවශ්‍යතාව

තක්සේරු හෝ නීතිමය අවශ්‍යතා සඳහා, ලොග් ගොනු දිගුකාලීනව ගබඩා කිරීම අවශ්‍ය විය හැක. එවැනි අවස්ථාවල, සම්පීඩනය සහ වලාකුළු ගබඩා විසඳුම් ගැන සිතන්න.

සම්පීඩන උදාහරණය:

tar -czvf mysql-logs.tar.gz /var/log/mysql/

වලාකුළු ගබඩා මාරු උදාහරණය:

aws s3 cp mysql-logs.tar.gz s3://your-bucket-name/

සාරාංශය

MySQL ලොග් කළමනාකරණයේ, සේවාදායක භාරය, ඩිස්ක් ධාරිතාව, ආරක්ෂක පියවර, සහ උපස්ථාපන‑ප්‍රතිසාධන සැලසුම් කළමනාකරණය අත්‍යවශ්‍ය වේ. මෙම හොඳ පුරුදු ක්‍රියාත්මක කිරීමෙන්, ඔබට ස්ථාවර මෙහෙයුම් සහ ශක්තිමත් ආරක්ෂාව ලබා ගත හැක.

7. නිගමනය

ලොග් කළමනාකරණයේ වැදගත්කම නැවත තහවුරු කිරීම

MySQL ලොග් ගොනු බොහෝ ක්ෂේත්‍රවල වැදගත් භූමිකාවක් ඉටු කරයි, පහත සඳහන් වගෙයි:

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

ප්‍රායෝගික ලොග් කළමනාකරණ උපදෙස්

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

  • දෝෂ ලොග් සහ විමසුම් ලොග් සඳහා ගබඩා ස්ථාන නිවැරදිව වින්‍යාස කරන්න.
  • පද්ධති අවශ්‍යතා අනුව ලොග් ප්‍රතිදාන මට්ටම් සුසංයෝජනය කරන්න.

ලොග් රෝටේෂන් සහ සංකුචනය කළමනාකරණය

  • ස්වයංක්‍රීය රෝටේෂන් සැකසුම් භාවිතා කරමින්, පරණ ලොග් ගොනු සංරක්ෂණය කරන අතර තැටි ධාරිතාව කළමනාකරණය කරන්න.

ආරක්ෂා මැදිහත්කම් සහ බැකප්

  • නිවැරදි අවසර කළමනාකරණය සහ සංකේතනය මගින් ලොග් ගොනු ආරක්ෂාව ශක්තිමත් කරන්න.
  • නිතර බැකප් සහ ප්‍රතිස්ථාපන පරීක්ෂණ කරමින්, දෝෂ සිදුවීමේදී වේගවත් ප්‍රතිසාධනය සහතික කරන්න.

වින්‍යාසය පසු තහවුරු කිරීම කෙසේද

වින්‍යාස පරීක්ෂා ලැයිස්තුව

පහත පරීක්ෂා ලැයිස්තුව ඔබේ වින්‍යාසය තහවුරු කිරීමට උපකාරී වේ:

  • [ ] ඔබ දෝෂ ලොග්, සාමාන්‍ය විමසුම් ලොග්, මන්දගාමී විමසුම් ලොග්, සහ බයිනරි ලොග් සක්‍රිය කර වින්‍යාස කර තිබේද?
  • [ ] ලොග් ගොනු ගබඩා ස්ථාන නිවැරදිව වින්‍යාස කර, ප්‍රවේශ අවසරයන් නිසි ලෙස කළමනාකරණය කර තිබේද?
  • [ ] ලොග් රෝටේෂන් නිසි ලෙස ක්‍රියාත්මක වෙමින්, තැටි ධාරිතාව කළමනාකරණය කර තිබේද?
  • [ ] සංකේතනය සහ ප්‍රවේශ සීමා වැනි ආරක්ෂා මැදිහත්කම් ක්‍රියාත්මක කර තිබේද?
  • [ ] බැකප් සහ ප්‍රතිසාධන ක්‍රියාවලීන් පෙර පරීක්ෂා කර, නිවැරදිව ක්‍රියා කරන බව තහවුරු කර තිබේද?

මෙම පරීක්ෂා ලැයිස්තුව භාවිතා කරමින් වින්‍යාස අඩුපාඩු සහ ගැටළු වැළැක්වන්න.

අනාගත මෙහෙයුම් සහ සංවර්ධන ලක්ෂ්‍ය

නිතර නිරීක්ෂණ සහ සංවර්ධනය

  • නිතර ලොග් ගොනු අන්තර්ගතය සමාලෝචනය කර, අසාමාන්‍යතා සහ දෝෂ නිරීක්ෂණය කරන්න.
  • නව මෙවලම් සහ ආරක්ෂා විශේෂාංග භාවිතා කර, ලොග් කළමනාකරණයේ නಿಖරත්වය සහ කාර්යක්ෂමතාව වැඩිදියුණු කරන්න.

නව විශේෂාංග වලට අනුකූල වීම

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

අවසාන අදහස් සහ ඊළඟ පියවර

MySQL ලොග් කළමනාකරණය විශ්වාසදායක දත්ත ගබඩා මෙහෙයුම් සඳහා මූලික අංගයක් වන අතර, ඔබේ අවශ්‍යතා අනුව අභිරුචිකරණය කළ හැකි ශක්තිමත්, ස flexibil යුක්ත මෙවලමකි. මෙම ලිපිය ඔබේ ව්‍යාපාරික මෙහෙයුම් වැඩිදියුණු කිරීමට උපදෙස් ලෙස භාවිතා කරන්න.

ඊළඟ පියවර

  • ලොග් විශ්ලේෂණ මෙවලම් සහ නිරීක්ෂණ පද්ධති හඳුන්වා දී, වින්‍යාසය තවත් සුසංයෝජනය කර, ලොග් විශ්ලේෂණය ගැඹුරු කරගන්න.
  • නිරවද්‍ය ව්‍යාපෘති සහ පද්ධති තුළ ලොග් වින්‍යාස පුරුදු අනුගමනය කර, ගැටළු විසඳුම් සහ කාර්ය සාධන සුසංයෝජනය වැඩිදියුණු කරන්න.

අපි බලාපොරොත්තු වෙමු මෙම මාර්ගෝපදේශය MySQL ලොග් කළමනාකරණය පිළිබඳ ඔබේ අවබෝධය ගැඹුරු කර, ස්ථාවර, ආරක්ෂිත දත්ත ගබඩා මෙහෙයුම් සඳහා සහාය වනු ඇත.