কীভাবে mysql- এ প্রসেসলিস্টটি কাস্টমাইজ করবেন?


184

আমি সময়ের সাথে অর্ডার করতে চাই, তবে এটি করার কোনও উপায় মনে হচ্ছে না?

mysql> show processlist;
+--------+-------------+--------------------+------+---------+--------+----------------------------------+------------------------------------------------------------------------------------------------------+
| Id     | User        | Host               | db   | Command | Time   | State                            | Info                                                                                                 |
+--------+-------------+--------------------+------+---------+--------+----------------------------------+------------------------------------------------------------------------------------------------------+
|      1 | system user |                    | NULL | Connect | 226953 | Waiting for master to send event | NULL                                                                                                 | 
|      2 | system user |                    | v3   | Connect |  35042 | Locked                           | update postings a
                                left join cities b on b.id=a.job_city_id
                                left join states h on h.id=b.stat | 
| 313888 | irnadmin    | 172.19.0.239:40136 | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 314075 | irnadmin    | 172.19.0.239:41113 | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 314118 | irnadmin    | 172.19.0.239:41282 | v3   | Query   |  34978 | freeing items                    | SELECT id, screen_name, type, active, bound, LastLogin, robotno, protocol FROM accounts WHERE email_ | 
| 314686 | irnadmin    | 172.19.0.239:43251 | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 314732 | irnadmin    | 172.19.0.239:43436 | v3   | Query   |  34978 | freeing items                    | SELECT id, screen_name, type, active, bound, LastLogin, robotno, protocol FROM accounts WHERE email_ | 
| 314984 | irnadmin    | 172.19.0.239:44366 | v3   | Sleep   |      2 |                                  | NULL                                                                                                 | 
| 315051 | irnadmin    | 172.19.0.239:44713 | v3   | Query   |      0 | NULL                             | NULL                                                                                                 | 
| 315198 | irnadmin    | 172.19.0.239:51569 | v3   | Sleep   |      2 |                                  | NULL                                                                                                 | 
| 315280 | irnadmin    | 172.19.0.239:51849 | v3   | Query   |  34978 | freeing items                    | SELECT id, email_address, type, closed, robotno FROM accounts WHERE screen_name = 'ShantanuS'        | 
| 315320 | irnadmin    | 172.19.0.239:52045 | v3   | Query   |  34978 | freeing items                    | SELECT id, screen_name, type, active, bound, LastLogin, robotno, protocol FROM accounts WHERE email_ | 
| 315384 | irnadmin    | 172.19.0.239:52463 | v3   | Sleep   |      1 |                                  | NULL                                                                                                 | 
| 452248 | irnadmin    | 172.19.0.28:54899  | v3   | Query   |  34978 | freeing items                    | SELECT id, email_address, type, closed, robotno FROM accounts WHERE screen_name = 'LIZW0218'         | 
| 452291 | irnadmin    | 172.19.0.28:55045  | v3   | Sleep   |      1 |                                  | NULL                                                                                                 | 
| 452316 | irnadmin    | 172.19.0.28:55144  | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 452353 | irnadmin    | 172.19.0.28:55278  | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 452382 | irnadmin    | 172.19.0.28:55371  | v3   | Query   |  34978 | freeing items                    | SELECT o.account_id FROM online o JOIN accounts a ON a.id=o.account_id WHERE o.server_id IS NULL AND | 
| 452413 | irnadmin    | 172.19.0.28:55479  | v3   | Sleep   |      1 |                                  | NULL                                                                                                 | 
| 452541 | irnadmin    | 172.19.0.28:55946  | v3   | Query   |  34978 | freeing items                    | SELECT o.account_id FROM online o JOIN accounts a ON a.id=o.account_id WHERE o.server_id IS NULL AND | 
| 452626 | irnadmin    | 172.19.0.28:56215  | v3   | Sleep   |      2 |                                  | NULL                                                                                                 | 
| 452711 | irnadmin    | 172.19.0.28:39916  | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 452781 | irnadmin    | 172.19.0.28:40161  | v3   | Sleep   |      1 |                                  | NULL                                                                                                 | 
| 452904 | irnadmin    | 172.19.0.28:40955  | v3   | Query   |  34978 | freeing items                    | select a.id, aa.screen_name, i.requester from interview_requests i left join accounts aa on aa.id=i. | 
| 453014 | irnadmin    | 172.19.0.28:41291  | v3   | Query   |  34978 | freeing items                    | SELECT o.account_id FROM online o JOIN accounts a ON a.id=o.account_id WHERE o.server_id IS NULL AND | 
| 453057 | irnadmin    | 172.19.0.28:41377  | v3   | Query   |  34978 | freeing items                    | select a.id, aa.screen_name, i.requester from interview_requests i left join accounts aa on aa.id=i. | 
| 453084 | irnadmin    | 172.19.0.28:41441  | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 453112 | irnadmin    | 172.19.0.28:41536  | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 453156 | irnadmin    | 172.19.0.28:41653  | v3   | Query   |  34978 | freeing items                    | SELECT protocol FROM accounts WHERE email_address= '***@gtalk.jabber.jobirn.c | 
| 453214 | irnadmin    | 172.19.0.28:41800  | v3   | Sleep   |      5 |                                  | NULL                                                                                                 | 
| 453243 | irnadmin    | 172.19.0.28:41991  | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 453313 | irnadmin    | 172.19.0.28:42255  | v3   | Query   |  34978 | freeing items                    | SELECT o.account_id FROM online o JOIN accounts a ON a.id=o.account_id WHERE o.server_id IS NULL AND | 
| 453396 | irnadmin    | 172.19.0.28:53718  | v3   | Sleep   |      2 |                                  | NULL                                                                                                 | 
| 453476 | irnadmin    | 172.19.0.28:54019  | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 453561 | irnadmin    | 172.19.0.28:54352  | v3   | Sleep   |      3 |                                  | NULL                                                                                                 | 
| 453594 | irnadmin    | 172.19.0.28:54456  | v3   | Sleep   |      0 |                                  | NULL                                                                                                 | 
| 453727 | irnadmin    | 172.19.0.28:55166  | v3   | Query   |  34978 | freeing items                    | SELECT id, screen_name, type, active, bound, LastLogin, robotno, protocol FROM accounts WHERE email_ | 
| 453786 | irnadmin    | 172.19.0.28:55320  | v3   | Sleep   |      4 |                                  | NULL                                                                                                 | 
| 610140 | irnadmin    | 172.19.0.28:33848  | v3   | Query   |  34978 | freeing items                    | select a.id, aa.screen_name, i.requester from interview_requests i left join accounts aa on aa.id=i. | 
| 685119 | irnadmin    | 172.19.0.27:37251  | v3   | Query   |  34980 | Sending data                     | select postings.id id,category, job_desc_title,
        IF(c1.name is not null,c1.name,IF(c2.name is not n | 
| 685226 | irnadmin    | 172.19.0.139:57274 | v3   | Query   |  34735 | Locked                           | SELECT job_desc_title,job_desc,job_state_name,job_city_name,company_categories.name,postings.categor | 
| 685229 | irnadmin    | 172.19.0.139:57278 | v3   | Query   |  34735 | Locked                           | SELECT job_desc_title,job_desc,job_state_name,job_city_name,company_categories.name,postings.categor | 
| 685232 | irnadmin    | 172.19.0.139:57283 | v3   | Query   |  34734 | Locked                           | select job_desc_title,job_desc from postings where id=287650                                         | 
| 685233 | irnadmin    | 172.19.0.139:57286 | v3   | Query   |  34734 | Locked                           | SELECT accounts.screen_name,postings.url url, accounts.type owner_type, postings.id ID, postings.job | 
| 685235 | irnadmin    | 172.19.0.28:37502  | v3   | Query   |  34734 | Locked                           | SELECT accounts.screen_name,postings.url url, accounts.type owner_type, postings.id ID, postings.job | 
| 686496 | irnadmin    | 172.19.0.239:33306 | v3   | Query   |  32589 | Locked                           | SELECT accounts.screen_name,postings.url url, accounts.type owner_type, postings.id ID, postings.job | 
| 686503 | irnadmin    | 172.19.0.28:54051  | v3   | Query   |  32588 | Locked                           | SELECT job_desc_title, job_desc, IF(postings.category IS NOT NULL, postings.category, job_categories | 
| 709550 | root        | localhost          | v3   | Query   |      0 | NULL                             | show processlist                                                                                     | 
| 710084 | irnadmin    | 172.19.0.27:53285  | NULL | Query   |      0 | removing tmp table               | show status where Variable_name='Threads_running'                                                    | 
+--------+-------------+--------------------+------+---------+--------+----------------------------------+------------------------------------------------------------------------------------------------------+
49 rows in set (0.00 sec)

3
সাথী, আপনি উপরে আপনার কোড উদাহরণে ক্যারোলিনের ইমেলটি দিতে পারেন।
লিওন ওয়াল্ডম্যান

উত্তর:


333

এসকিউএল এর নতুন সংস্করণগুলি তথ্য_সেমিতে প্রক্রিয়া তালিকাকে সমর্থন করে:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST

আপনি যেভাবে চান তার মাধ্যমে অর্ডার করতে পারেন।

INFORMATION_SCHEMA.PROCESSLIST টেবিলটি মাইএসকিউএল 5.1.7 এ যুক্ত করা হয়েছে। আপনি কোন সংস্করণটি ব্যবহার করছেন তা জানতে পারবেন:

SELECT VERSION()

এটি খুব সুন্দর, কিন্তু এটা হিসাবে একই show full processlist, বলো, INFOঅংশ সম্পূর্ণ হলে, একটি সংক্ষিপ্ত সংস্করণ অথবা হয়ত আমি ব্যবহারের substr করতে হবে?
Omg

@ শোর: আপনি সাবস্ট্রটার করতে চান?
কোডারসোফিডার্ক

56

আদেশ

show full processlist

দ্বারা প্রতিস্থাপন করা যেতে পারে:

SELECT * FROM information_schema.processlist

তবে আপনি যদি পরবর্তী সংস্করণটি নিয়ে যান তবে WHEREআপনি এটিতে ক্লজ যুক্ত করতে পারেন:

SELECT * FROM information_schema.processlist WHERE `INFO` LIKE 'SELECT %';

আরও তথ্যের জন্য এটি দেখুন


7

কমান্ড লাইন ইন্টারফেস থেকে এটির জন্য দরকারী আরেকটি সরঞ্জাম, পেজার কমান্ড।

যেমন

pager grep -v Sleep | more; show full processlist;

তারপরে আপনি ফলাফলের মাধ্যমে পৃষ্ঠা করতে পারেন।

আপনি কিছু ব্যবহারকারী, আইপি বা গ্রেপ বা সেডের সাহায্যে কোয়েরিগুলিও এইভাবে সন্ধান করতে পারেন।

পেজার কমান্ড প্রতি সেশন স্থির থাকে।


3

আপনি কেবল আউটপুট ক্যাপচার এবং একটি ফিল্টার মাধ্যমে এটি পাস করতে পারেন:

mysql show processlist
    | grep -v '^\+\-\-'
    | grep -v '^| Id'
    | sort -n -k12

দুটি গ্রিপগুলি শিরোনাম এবং ট্রেলার লাইনগুলি বের করে দেয় (দরকারী তথ্য না থাকা অন্য লাইন থাকলে অন্যদের প্রয়োজন হতে পারে) এবং সারণি 12 সংখ্যাটির ক্ষেত্রের ভিত্তিতে করা হয় (আমি মনে করি এটি সঠিক)।

এটি একটি আপনার তাত্ক্ষণিক আউটপুট জন্য কাজ করে:

mysql show processlist
    | grep -v '^\+\-\-'
    | grep -v '^| Id'
    | grep -v  '^[0-9][0-9]* rows in set '
    | grep -v '^ '
    | sort -n -k12

5
আপনার grepপরপর চারবার কল করার দরকার নেই ; কেবলমাত্র এর sedমতো ব্যবহার করুন : sed '/^\+\-\-/d; /^| Id/d; /^[0-9][0-9]* rows in set '/d; /^ /d;এটি একটি প্রোগ্রামে একটি কল করে (চারটি নয়) এবং এটি দ্রুত, ক্লিনার, সহজ, এবং এটি দ্রুতও চলে।
মেই 17

2
আপনার দরকার নেই, না, তবে আপনি পারবেন। আপনি যদি প্রতি সেকেন্ডে এটির মতো কাজ করতে চান তবে হ্যাঁ, পারফরম্যান্স নিয়ে চিন্তিত। অন্যথায় এটি একটি অ-ইস্যু, বিশেষত ডেটা সেট আকার দিয়ে।
প্যাক্সিডিয়াবল্লো

2

আপনি যদি মাইএসকিউএল এর পুরাতন সংস্করণ ব্যবহার করেন তবে আপনি সর্বদা \ পি ব্যবহার করতে পারেন কিছু চমৎকার টুকরো টুকরো কোডের সাথে মিশ্রিত। আকর্ষণীয় উদাহরণ এখানে

http://www.dbasquare.com/2012/03/28/how-to-work-with-a-long-process-list-in-mysql/

আপনার ঠিক যা প্রয়োজন তাই না?


1

... আমাদের কাছে এখনও মাইএসকিউএল এর নতুন সংস্করণ নেই, তাই আমি এটি করতে সক্ষম হয়েছি (কেবল ইউএনআইএক্স-এ কাজ করে):

 host=maindb

 echo "show full processlist\G" | mysql -h$host | grep -B 6 -A 1 Locked

উপরের সমস্ত লক সেশনের জন্য জিজ্ঞাসা করবে এবং জড়িত তথ্য এবং এসকিউএল ফিরিয়ে দেবে।

... সুতরাং ধরে নিচ্ছি যে আপনি যে সেশনগুলি ঘুমিয়েছিলেন সেগুলির জন্য জিজ্ঞাসা করতে চেয়েছিলেন:

  host=maindb

  echo "show full processlist\G" | mysql -h$host | grep -B 6 -A 1 Sleep

অথবা, ধরে নিই যে মাইএসকিউএল-র জন্য আপনাকে অতিরিক্ত সংযোগের পরামিতি সরবরাহ করতে হবে:

  host=maindb

  user=me

  password=mycoolpassword 

  echo "show full processlist\G" | mysql -h$host -u$user -p$password | grep -B 6 -A 1 Locked

বেশ কয়েকটি টুইটের মাধ্যমে, আমি নিশ্চিত যে প্রসেসলিস্টটি আপনি চান সেভাবে ক্যোয়ারী করার জন্য সহজেই একটি শেল স্ক্রিপ্ট তৈরি করা যেতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.