স্লো ক্যোয়ারী লগিং হচ্ছে না


13

অপ্টিমাইজেশন ব্যবহার করতে পারে এমন কোনও প্রশ্নের শনাক্ত করার জন্য আমি আমাদের সার্ভারে স্লো কোয়েরি লগিং সক্ষম করার চেষ্টা করছি। যথেষ্ট সহজ মনে হচ্ছে, তবে আমার ফাইলটি লিখিত হচ্ছে না। আমি কোনও ত্রুটি বা এর মতো কোনও কিছুই পাই না, এটি ধীর অনুসন্ধানগুলিতে লগইন করে বলে মনে হয় না। আমার কনফিগারেশনের পরিবর্তনের পরে মাইএসকিএল পুনরায় চালু করার কথা মনে আছে।

আমি মাইএসকিউএল ভেরি 5.1.61 ব্যবহার করছি। আমার মাই সিএনএফ-এ যা আছে তা এখানে:

slow-query-log=1
slow-query-log-file=/var/logs/my.slow.log
long_query_time=1

/var/logs/my.slow.log ফাইলটির মালিক হিসাবে মাইএসকিএল রয়েছে, ডিবাগিংয়ের স্বার্থে আমি লগ ফাইলটিতে সকলকে পড়তে / লিখতে দিয়েছি।

আমি ঠিক_এটি কাজ করে কিনা তা দেখতে চাই হিসাবে উপরের 1 টির উপরে দীর্ঘ_ প্রশ্ন_সামগ্রী সেট করা আছে। আমি এটিকে কম সেট করার চেষ্টা করেছি (উদাঃ ০.০) তবে আমি এখনও কোনও লগইন পাচ্ছি না। আমি জানি যে আমার অ্যাপ্লিকেশন যে প্রশ্নগুলি চালাচ্ছে সেগুলি 1 সেকেন্ডেরও বেশি সময় নেয় এবং আমি SELECT sleep(10);পরীক্ষার জন্য ইচ্ছাকৃতভাবে টার্মিনালে লগ ক্যোয়ারী ( ) লগ করেছি এবং লগটি এখনও খালি রয়েছে।

আমি ডক্সটি দেখেছি, যা দেখতে পাচ্ছি তা থেকে কাজ করা উচিত। আমি কী ভুল করছি সে সম্পর্কে কারও কোনও পরামর্শ আছে? কোন পরামর্শ প্রশংসা করা হবে, অনেক ধন্যবাদ!

সম্পাদনা: মন্তব্যে জিজ্ঞাসা করা হিসাবে আমি ক্যোয়ারী চালিয়েছি:

 `SELECT variable_value FROM information_schema.global_variables WHERE variable_name IN ('slow_query_log','slow_query_log_file','long_query_time');`

ফলাফল:

10.0000000
/var/run/mysqld/mysqld-slow.log
OFF

স্পষ্টতই আমার কনফিগারেশনের পরিবর্তনগুলি আমলে নেওয়া হচ্ছে না কারণ আমি বিশ্বাস করি যে এগুলি পূর্বনির্ধারিত। আমি যথেষ্ট নিশ্চিত যে আমার যে সিএনএনএফ ফাইলটি পরিবর্তন করছি তা পার্স করা হচ্ছে যেন আমি কোনও অবৈধ মান মাইএসকিএল রেখে দিলে পুনরায় চালু করার সময় ত্রুটি ঘটবে। এখানে কি হচ্ছে হতে পারে?

অন্য সম্পাদনা:

@ রোল্যান্ডোমাইএসকিউএলডিবিএ'র পরামর্শ নেওয়ার পরে এবং আমার ধীরে ধীরে ক্যোয়ারী কনফিগার লাইনগুলিকে [mysqld]আমার সেটিংসের আওতায় নিয়ে যাওয়ার পরে মনে হচ্ছে এটি সংরক্ষণ করা হচ্ছে। এখন উপরের পরিবর্তনশীল_মূল্য ক্যোয়ারির ফলাফল:

1.0000000
/var/logs/my.slow.log
ON

তবে আমি এখনও আমার.স্লো.লগ ফাইলটি দেখছি না। ফাইলটি মাইএসকিএল এর মালিকানাধীন বলে আমি মনে করি এটি কোনও অনুমতি সংক্রান্ত সমস্যা নয় এবং আমি ফাইলটিতে সমস্ত ব্যবহারকারীর জন্য সমস্ত অনুমতি যুক্ত করেছি। কেউ কাজ করে না কেন এমন কোনও কারণ চিন্তা করতে পারে?

সম্পাদনা: সলভ! ধীর ক্যোয়ারী লগের পথটি ভুল ছিল, এটি / var / লগ * গুলি * / আমার.স্লো.লগের পরিবর্তে /var/log/my.slow.log হওয়া উচিত । সহায়তার জন্য সকলকে ধন্যবাদ, আমি বরাদ্দ শিখেছি!


1
দয়া করে চালান SELECT variable_value FROM information_schema.global_variables WHERE variable_name IN ('slow_query_log','slow_query_log_file','long_query_time');এবং এর আউটপুট পোস্ট করুন।
RolandoMySQLDBA

1
এটি পড়ার পরেও কারও যদি সমস্যা থাকে তবে লগ_আউটপুট ভেরিয়েবলটি পরীক্ষা করুন। SET GLOBAL log_output=FILEএটা আমার জন্য স্থির কর
মোলহোম

উত্তর:


21

আমি মনে করি আমি উত্তর পেয়েছি:

আপনাকে এই বিকল্পগুলি [mysqld]বিভাগের আওতায় রাখা দরকার

[mysqld]
slow-query-log=1
slow-query-log-file=/var/logs/my.slow.log
long_query_time=1

এবং mysql পুনরায় আরম্ভ করুন

আপডেট 2013-03-05 16:36 EST

আমি জানি না কেন এটি এখনও ঘটছে তবে দয়া করে এটি চেষ্টা করুন:

service mysql stop
rm -f /var/logs/my.slow.log
touch /var/logs/my.slow.log
chown mysql:mysql /var/logs/my.slow.log
service mysql start

তারপরে দৌড়াও SELECT SLEEP(10);এবং দেখুন এটি প্রবেশ করেছে কিনা/var/logs/my.slow.log


ধন্যবাদ! আপনি যা পরামর্শ দিয়েছেন তাতে সহায়তা হয়েছে, সেটিংসটি সঠিকভাবে সংরক্ষণ করছে বলে মনে হচ্ছে তবে আমি এখনও কিছু লিখছি না। এটি প্রতিফলিত করার জন্য আমি আমার প্রশ্ন সম্পাদনা করেছি।
TheMethod

আরে, শুধু কৌতূহলী, আমি একটি ভিএম এর অধীনে একটি ডেবিয়ান সিস্টেম চালাচ্ছি। আপনার উত্তরে কি পথটি সঠিক? /var/logs/পরিবর্তে/var/log
সিলভিউ-মারিয়ান

শুধু তথ্য. সেন্টোস 6.6 মাইএসকিএল 5.1.73 পরিবেশেও "টাচ অ্যান্ড ক্লাউন" প্রয়োজনীয়।
ফুমিস্কি ওয়েলস

আমি কেবল একটি সিস্টেম জুড়ে দৌড়েছি যেখানে তারা এগুলি রাখার চেষ্টা করেছিল [mysqld_safe], যা কার্যকর হয়নি। তাদের সমস্যার সমাধানের অধীনে [mysql]রেখে দেওয়া।
মাইকেল হ্যাম্পটন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.