কীভাবে প্রসেসলিস্ট থেকে সম্পূর্ণ কোয়েরি দেখতে পাবেন


296

আমি যখন প্রসেসলিস্ট কোয়েরি দেখি তখন চলমান এসকিউএল কোয়েরির প্রথম 100 টি অক্ষর তথ্য কলামে ফিরে আসে।

সম্পূর্ণ কোয়েরি দেখার জন্য কি মাইএসকিএল কনফিগারেশন পরিবর্তন করা বা ভিন্ন ধরণের অনুরোধ করা সম্ভব (আমি যে প্রশ্নগুলি দেখছি সেগুলি 100 টির চেয়ে বেশি অক্ষরের)

উত্তর:


482
SHOW FULL PROCESSLIST

আপনি ব্যবহার না করেন তাহলে FULL, "শুধুমাত্র প্রথম 100 প্রতিটি বিবৃতির অক্ষর দেখানো হয় Infoক্ষেত্র"

পিএইচপিএমআইএডমিন ব্যবহার করার সময়, অনিরীক্ষিত ফলাফল দেখতে আপনার "সম্পূর্ণ পাঠ্য" বিকল্পটিতে (ফলাফলের টেবিলের উপরের বাম কোণে "" ← টি → ") ক্লিক করতে হবে।


3
দেখে মনে হচ্ছে phpmyadmin এ সম্পর্কে কোন চিন্তা করে না এবং এখনও সঙ্কুচিত তথ্য দেখায়।
giorgio79

@ জিওরজিও 79৯: যদি আমি সঠিকভাবে স্মরণ করি তবে পিএইচপিএমওয়াই অ্যাডমিন সমস্ত স্ট্রিং ফলাফলকে ছাঁটাই করে। যেকোন ওয়েব ডেভলপমেন্ট করে চার বছর হয়ে গেছে, যদিও আমার খুব ভাল ভুল হতে পারে।
জেমস ম্যাকনেলিস

2
আমি জিজ্ঞাসাগুলি ব্যবহার করার পরেও নির্দিষ্ট দৈর্ঘ্যের পরে কাটা দেখতে পাচ্ছি SHOW FULL PROCESSLIST। আমি কি এটিকে আরও পূর্ণতর করতে পারি?
উইজোনসোলিউশন

কমান্ডের শেষে ডানদিকে SHOW FULL PROCESSLISTএকটি আধা-কোলন প্রয়োজন ;?
রকিবুল হক

1
@ আর.হাক যদি আপনি যেই প্রশ্নটিই করতে চলেছেন তবে সেমিকোলনটি প্রয়োজনীয় নয় is যদি আপনি একাধিক ক্যোয়ারী করতে চান, তবে সেগুলির প্রত্যেকের পরে আপনার সেমিকোলন দরকার।
জুলিও গার্সিয়া

85

প্রসেসলিস্ট দেখান অন্য টেবিল থেকে তথ্য এনেছে। আপনি কীভাবে ডেটা টানতে পারেন এবং 'ক্যারিফোর্ড' কলামটি দেখতে পাবেন যাতে পুরো ক্যোয়ারী রয়েছে:

select * from INFORMATION_SCHEMA.PROCESSLIST where db = 'somedb';

আপনার প্রয়োজনের ভিত্তিতে আপনি কোনও শর্ত যুক্ত করতে বা উপেক্ষা করতে পারেন can

ক্যোয়ারীর আউটপুট এর ফলাফল হিসাবে:

+-------+------+-----------------+--------+---------+------+-----------+----------------------------------------------------------+
| ID    | USER | HOST            | DB     | COMMAND | TIME | STATE     | INFO                                                     |
+-------+------+-----------------+--------+---------+------+-----------+----------------------------------------------------------+
|     5 | ssss | localhost:41060 | somedb | Sleep   |    3 |           | NULL                                                     |
| 58169 | root | localhost       | somedb | Query   |    0 | executing | select * from sometable where tblColumnName = 'someName' |

12
এটি সম্ভবত সবচেয়ে দরকারী উত্তর।
dr_

আমার তথ্য কলাম শো COMMIT। আপনি কি জানেন যে আমি কীভাবে প্রকৃত ক্যোয়ারী সম্পর্কে আরও বিশদ দেখতে পারি?
m.spyratos

লোকালহোস্ট: 41060, 41060 এর অর্থ কী? কোন অনুমান?
ফারভীন হাসান

12

আমি কেবল মাইএসকিউএল ডকুমেন্টেশনে পড়েছি যে SHOW FULL PROCESSLISTডিফল্টরূপে কেবলমাত্র আপনার বর্তমান ব্যবহারকারী সংযোগের থ্রেডগুলি তালিকাভুক্ত করে ।

মাইএসকিউএল শো সম্পূর্ণ প্রসেসলিস্ট ডকুমেন্টেশন থেকে উদ্ধৃতি:

আপনার কাছে যদি প্রসেসের সুবিধা থাকে তবে আপনি সমস্ত থ্রেড দেখতে পাবেন।

সুতরাং আপনি Process_privআপনার mysql.userটেবিলের কলামটি সক্ষম করতে পারেন । FLUSH PRIVILEGESপরে মৃত্যুদন্ড কার্যকর করতে ভুলবেন না :)


12

শো প্রসেসলিস্ট থেকে সম্পূর্ণ কোয়েরি দেখুন:

SHOW FULL PROCESSLIST;

অথবা

 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

10

যদি কেউ শেল সেশনে আপডেট প্রক্রিয়াগুলি (উদাহরণস্বরূপ, 2 সেকেন্ড) পেতে চান তবে নিজেই এটির সাথে ইন্টারঅ্যাক্ট না করে ব্যবহার করুন:

watch -n 2 'mysql -h 127.0.0.1 -P 3306 -u some_user -psome_pass some_database -e "show full processlist;"'

একমাত্র খারাপ জিনিস show [full] processlistহ'ল আপনি আউটপুট ফলাফল ফিল্টার করতে পারবেন না। অন্যদিকে, SELECT * FROM INFORMATION_SCHEMA.PROCESSLISTআপনি দেখতে চান না এমন আউটপুট থেকে সরানোর জন্য উন্মুক্ত সম্ভাবনা জারি করা :

SELECT * from INFORMATION_SCHEMA.PROCESSLIST
WHERE DB = 'somedatabase'
AND COMMAND <> 'Sleep'
AND HOST NOT LIKE '10.164.25.133%' \G
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.