क्या phpmyadmin के साथ पिछले mysql प्रश्नों को देखने का कोई तरीका है?


111

मैं एक बग को ट्रैक करने की कोशिश कर रहा हूं जो एक mysqlतालिका में पंक्तियों को हटा रहा है ।

मेरे जीवन के लिए मैं इसे अपने PHPकोड में ट्रैक नहीं कर सकता , इसलिए मैं वास्तविक mysql क्वेरी को खोजकर पीछे की ओर काम करना चाहूंगा जो पंक्तियों को हटा रही है।

मैंने phpmyadmin में लॉग इन किया, लेकिन पिछले sql संचालन के इतिहास को देखने का कोई तरीका नहीं खोज सका।

वहाँ उन्हें phpmyadmin में देखने का एक तरीका है?


2
क्या आप DELETEइस तरह से बयानों के लिए अपना कोड नहीं खोज सकते हैं ?
webbiedave

Baol और webbiedave को सुनें। आपको क्वेरी लॉगिंग को सक्षम करना चाहिए यह देखने के लिए कि क्या चल रहा है, लेकिन फिर भी आपको यह पता लगाना होगा कि आपके कोड में SQL स्टेटमेंट कहाँ से आ रहे हैं। "हटाएँ" के लिए grepping शुरू, वहाँ नहीं किया जा सकता है कि अपनी परियोजना में कई नष्ट बयान।
जॉयल्सन

हाँ, मैं वास्तव में हटाने के लिए grepping द्वारा शुरू किया था, लेकिन मेरी आँखों को b / c से अधिक चमक दिया जाना चाहिए, कोई भी डिलीट समस्याग्रस्त नहीं लगता है ... यही कारण है कि मुझे उम्मीद है कि क्वेरी लॉग मदद करेगा। आपकी मदद के लिए आप दोनों को धन्यवाद।
chris1979

अपने डेटाबेस में किसी भी ट्रिगर के लिए जाँच करें जो विलोपन भी कर सकता है
मार्क बेकर

जवाबों:


107

ठीक है, तो मैं वास्तव में जवाब में ठोकर खाई।

phpMyAdmin एक संक्षिप्त इतिहास प्रदान करता है। यदि आप 'phpMyAdmin' लोगो के नीचे 'sql' आइकन पर क्लिक करते हैं, तो यह एक नई विंडो खोलेगा। नई विंडो में, बस 'इतिहास' टैब पर क्लिक करें।

यह आपको अंतिम बीस या तो एसक्यूएल संचालन देगा।

यहां छवि विवरण दर्ज करें


2
आप अधिक सहेजने के लिए phpMyadmin को कॉन्फ़िगर कर सकते हैं। अंतिम 100000 प्रश्नों को सहेजने के लिए मेरे पास मेरा सेटअप है।
मिश्रण

लेकिन ... हर बार जब आप अपडेट करते हैं (उदाहरण के लिए: पिछले संस्करण को लोड करते हैं) तो आपका डेटाबेस आपके इतिहास को खो देता है (इसलिए आप इसे इतिहास की जांच करने के लिए डेटाबेस को फिर से स्थापित नहीं कर सकते हैं)
जिनसो

1
इंडेक्स परिवर्तनों को लॉग नहीं करता है, और यह उस चीज के लिए बिल्कुल उपयोगी होगा, क्योंकि यह उन्हें ठीक से लॉग नहीं करता है जब आप उन्हें या तो निष्पादित करते हैं ...
0'0 '।

56
मुझे यह एसक्यूएल आइकन नहीं दिख रहा है, यह वर्तमान संस्करण में कहां है?
जोसेफ अस्त्रहन

3
@JosephAstrahan के Query windowआगे आइकन पर क्लिक करेंHome
amallard

63

SQL (क्वेरी) स्क्रीन के नीचे एक कंसोल टैब है । डिफ़ॉल्ट रूप से इसका विस्तार नहीं किया जाता है, लेकिन एक बार इस पर क्लिक करने पर विकल्प, इतिहास और स्पष्ट के लिए टैब को उजागर करना चाहिए । इतिहास पर क्लिक करें।

क्वेरी इतिहास लंबाई के भीतर से सेट किया गया है पृष्ठ संबंधित सेटिंग्स जो स्क्रीन के शीर्ष दाईं ओर स्थित गियर पहिया पर क्लिक करके पाया।

यह PHP संस्करण 4.5.1-1 के लिए सही है


6
लंबाई अब घर के नीचे है | सेटिंग्स | एसक्यूएल प्रश्न | इतिहास की लंबाई । और पागलपन से "मूल्य 25 के बराबर या कम होना चाहिए!"
बॉब स्टीन

37

आपको बस phpMyAdmin में स्क्रीन के नीचे कंसोल पर क्लिक करने की आवश्यकता है और आपको एक्जिक्यूटेड इतिहास मिलेगा:

यहां छवि विवरण दर्ज करें


मुझे स्वीकृत उत्तर में पृष्ठ नहीं मिल पा रहा था (शायद यह एक अलग संस्करण से है), और यह मेरे लिए काम करता है, धन्यवाद।
felwithe

4
यह केवल क्वेरी दिखाता है जो उपयोगकर्ता द्वारा phpmyadminस्वयं से चलाई गई थीं । यह सभी प्रदर्शन किए गए प्रश्नों का पूरा रिकॉर्ड नहीं दिखाता है।
फ्यूजन

12

पिछले प्रश्नों को देखने के लिए इस क्वेरी को phpMyAdmin में चलाएं।

SELECT * FROM `general_log`

यदि यह सक्षम नहीं है, तो इसे चलाने से पहले निम्नलिखित दो प्रश्नों को चलाएं।

SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';

7
बहुत उपयोगी धन्यवाद। किसी और का चयन करें * से general_logmysql तालिका के अंदर क्वेर किया जाना चाहिए अन्यथा आपको टैबलेन का नाम शामिल करना होगा: SELECT * FROM mysql। general_log
सिगगी_पॉप

9

मुझे नहीं लगता कि phpMyAdmin आपको ऐसा करने देता है, लेकिन मैं सुनना चाहता हूं कि मैं गलत हूं।

दूसरी ओर आप MySQL में क्वेरी लॉगिंग को सक्षम कर सकते हैं: जनरल क्वेरी लॉग


7

हां, आप विशेष phpMyAdmin DB तालिका में प्रश्नों को लॉग इन कर सकते हैं।

SQL_history देखें ।


यह @Dhinakar द्वारा दिए गए उत्तर का पूरक है।
मीटाइ.कॉम

6

मैं phpMyAdmin सर्वर संस्करण का उपयोग कर रहा हूं: 5.1.41।

यह phpmyadmin.pma_historyतालिका के माध्यम से sql इतिहास को देखने की संभावना प्रदान करता है ।

आप इस तालिका में अपनी क्वेरी खोज सकते हैं।

pma_history तालिका में संरचना नीचे है:

यहां छवि विवरण दर्ज करें


3

आपको phpMyAdmin लोगो के ठीक नीचे क्वेरी विंडो पर क्लिक करना होगा, एक नई विंडो खुलेगी। बस SQL ​​इतिहास टैब पर क्लिक करें। वहां आप SQL Queries का इतिहास देख सकते हैं।


2

मैं गलत हो सकता हूं, लेकिन मेरा मानना ​​है कि मैंने phpmyadmin सत्रों के लिए सत्र फ़ाइल में पिछले SQL प्रश्नों की एक सूची देखी है


क्षमा याचना ... मैं आपके प्रश्न को गलत समझूंगा: सत्र की सूची phpmyadmin के माध्यम से जारी किए गए पिछले कथनों की सूची है, इसलिए इसमें आपकी स्वयं की PHP स्क्रिप्ट द्वारा जारी कोई भी SQL कथन शामिल नहीं है, इसलिए संभवतः यह उपयोगी नहीं है।
मार्क बेकर

1

ठीक है तो मुझे पता है कि मुझे थोड़ी देर हो गई है और ऊपर दिए गए कुछ जवाब बहुत अच्छे हैं।

हालांकि किसी भी PHPMyAdmin पृष्ठ में, हालांकि थोड़ा अतिरिक्त:

  1. SQL टैब पर क्लिक करें
  2. 'स्वत: सहेजे गए क्वेरी प्राप्त करें' पर क्लिक करें

फिर यह आपकी अंतिम दर्ज की गई क्वेरी दिखाएगा।


0

आप अपने पिछले mysql को रन /PATH_PAST_MYSQL/bin/mysqld.exe से चला सकते हैं

यह आपके पिछले mysql को चलाता है और आप इसे phpmyadmin और आपके सिस्टम के अन्य अनुभाग में देख सकते हैं।

सूचना: अपने वर्तमान mysql संस्करण को रोकें।

एसएफ मेरी अंग्रेजी।


0

न तो आप निर्यात का उपयोग क्यों करते हैं, फिर 'कस्टम - सभी संभावित विकल्पों को प्रदर्शित करें' रेडियो बटन पर क्लिक करें, फिर अपना डेटाबेस चुनें, फिर आउटपुट पर जाएं और 'आउटपुट के रूप में टेक्स्ट देखें' चुनें और नीचे जाएं। देखा!


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.