কম্পিউটার টিউটোরিয়াল

MySQL ক্লায়েন্ট লগিং


MySQL-এর সাথে ক্লায়েন্ট লগিং সম্পর্কে বুঝি। mysql ক্লায়েন্ট এক্সিকিউট করা স্টেটমেন্টগুলো জন্য ভিন্ন ভিন্ন ধরনের লগিং করতে পারে, এবং এটি ইন্টারঅ্যাক্টিভলি করা যায়:

ইউনিক্স - লগিং

ইউনিক্সে, mysql স্টেটমেন্টগুলো একটি হিস্টরি ফাইলে লেখে। ডিফল্টভাবে এই ফাইলটির নাম .mysql_history থাকে ব্যবহারকারীর হোম ডিরেক্টরিতে। ভিন্ন ফাইল নাম নির্দিষ্ট করতে MYSQL_HISTFILE এনভায়রনমেন্ট ভেরিয়েবলের মান সেট করতে হয়।

যদি --syslog অপশন দেওয়া হয়, তবে mysql সকল প্ল্যাটফর্মে সিস্টেম লগিং ফ্যাসিলিটিতে স্টেটমেন্টগুলো লিখবে। ইউনিক্সে এটিকে syslog নামে জানা হয়।

উইন্ডোজ - লগিং

উইন্ডোজে, এটিকে উইন্ডোজ ইভেন্ট লগ নামে জানা হয়। লগ করা মেসেজগুলো কোথায় প্রদর্শিত হবে সেটি সিস্টেমের ওপর নির্ভর করে। উদাহরণস্বরূপ, লিনাক্সে ডেস্টিনেশন সাধারণত /var/log/messages ফাইল।

লগিং কীভাবে হয়?

লগিং কীভাবে হয় তা বুঝি:

প্রতিটি সক্রিয় লগিং ডেস্টিনেশনের জন্য, স্টেটমেন্ট লগিং নিচের মতো হয়:

  • স্টেটমেন্টগুলো শুধু তখন লগ করা হয় যখন সেগুলো ইন্টারঅ্যাক্টিভলি এক্সিকিউট হয়। স্টেটমেন্টগুলো নন-ইন্টারঅ্যাক্টিভ হয় যখন সেগুলো একটি ফাইল বা পাইপ থেকে পড়া হয়। --batch বা --execute অপশন দিয়ে স্টেটমেন্ট লগিং অপারেশন দমন করা সম্ভব।

  • স্টেটমেন্টগুলো উপেক্ষা করা হয় এবং লগ করা হয় না যদি সেগুলো "ignore" লিস্টে থাকা প্যাটার্নের সাথে ম্যাচ করে।

  • mysql প্রতিটি নন-ইগনোরড, নন-এম্পটি স্টেটমেন্ট লাইনকে ইনডিভিডুয়ালি লগ করে।

  • যদি একটি নন-ইগনোরড স্টেটমেন্ট একাধিক লাইনে फैলে থাকে, যেটি টার্মিনেটিং ডিলিমিটার অন্তর্ভুক্ত করে না, তবে mysql লাইনগুলো কনক্যাটেনেট করে একটি সম্পূর্ণ স্টেটমেন্ট বানাবে, নিউলাইনগুলো স্পেসে ম্যাপ করবে, এবং ডিলিমিটারসহ ফলাফল লগ করবে।


  1. Windows-এ MySQL কমান্ড লাইন ক্লায়েন্ট ইনস্টল করা

  2. MySQL ক্লায়েন্ট সার্ভার-সাইড হেল্প

  3. পাইথনে লগিং (Logging) – সম্পূর্ণ গাইড

  4. MySQL-এ স্লো কোয়েরি লগিং সেট আপ করার পদ্ধতি