Чи є спосіб переглянути попередні запити mysql за допомогою phpmyadmin?


111

Я намагаюся відстежити помилку, яка видаляє рядки в mysqlтаблиці.

За все життя я не можу відстежити це у своєму PHPкоді, тому я хотів би працювати назад, знаходячи власне запит mysql, який видаляє рядки.

Я увійшов у phpmyadmin, але не можу знайти спосіб переглянути історію минулих операцій sql.

Чи є спосіб переглянути їх у phpmyadmin?


2
Хіба ви не можете шукати у вашому коді DELETEзаяви та налагоджувати таким чином?
— webbiedave

Слухайте баол та webbiedave. Ви повинні ввімкнути журнал запитів, щоб побачити, що відбувається, але тоді вам все одно доведеться знайти, звідки беруться оператори SQL у вашому коді. Початок для змісту «видалити», не може бути , що багато ВЕЬЕТЕ в вашому проекті.
— joeynelson

так, я насправді почав із прив’язки до видалення, але очі повинні бути засклені на b / c, жоден із видалених видається проблематичним ... саме тому я сподіваюся, що журнал запитів допоможе. дякую вам обом за вашу допомогу.
— chris1979

Перевірте, чи є у вашій базі тригери, які також можуть видалити
— Марк Бейкер

Відповіді:


107

Гаразд, тому я насправді натрапив на відповідь.

phpMyAdmin пропонує коротку історію. Якщо натиснути піктограму 'sql' безпосередньо під логотипом 'phpMyAdmin', відкриється нове вікно. У новому вікні просто натисніть на вкладку "історія".

Це дасть вам останні двадцять операцій SQL.

введіть тут опис зображення


2
Ви можете налаштувати phpMyadmin, щоб заощадити більше. У мене є налаштування для збереження останніх 100000 запитів.
— Mixologic

АЛЕ ... щоразу, коли ви оновлюєте (наприклад, завантажуєте попередню версію) свою базу даних, ви втрачаєте свою історію (тому ви не можете перевстановити базу даних, щоб перевірити її історію)
— JinSnow

1
Не вносить зміни до індексу, і це було б корисно для цієї речі, оскільки він не належним чином
— записує

56
Я не бачу цієї піктограми SQL, де вона знаходиться в поточній версії?
— Йосиф Астрахан

3
@JosephAstrahan натисніть на Query windowзначок поруч ізHome
— amallard

63

Є Внизу екрана SQL (запитів) вкладка Console . За замовчуванням він не розширюється, але після натискання на нього слід відкрити вкладки Параметри, Історія та Очистити. Натисніть на історію.

The історії запитів встановлюється з налаштувань, пов’язаних із сторінкою, які ви знайдете, натиснувши на редуктор у верхньому правому куті екрана.

Це правильно для PHP версії 4.5.1-1


6
Довжина тепер під головним | Налаштування | SQL запити | Довжина історії запитів . І дивно "Значення має бути рівним або нижчим за 25!"
— Боб Штейн

37

Вам просто потрібно натиснути на консоль у нижній частині екрана в phpMyAdmin, і ви отримаєте історію виконаних:

введіть тут опис зображення


Мені не вдалося знайти сторінку у прийнятій відповіді (можливо, це з іншої версії), і це працювало для мене, дякую.
— Felwithe

4
Тут відображаються лише запити, якими користувач керував phpmyadminсам. У ньому не відображаються повні записи всіх виконаних запитів.
— Fusion

12

Для перегляду минулих запитів просто запустіть цей запит у phpMyAdmin.

SELECT * FROM `general_log`

якщо це не ввімкнено, запустіть наступні два запити перед його запуском.

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

7
дуже корисно дякую. комусь іншому SELECT * FROM general_logнеобхідно запитати всередині таблиці mysql, ще потрібно вказати ім'я таблиці: SELECT * FROM mysql. general_log
— siggi_pop



6

Я використовую версію сервера phpMyAdmin: 5.1.41.

Він пропонує можливість переглядати історію sql наскрізь phpmyadmin.pma_history таблицю.

Ви можете шукати свій запит у цій таблиці.

pma_history Таблиця має структуру нижче:

введіть тут опис зображення


3

Ви повинні натиснути на вікно запиту під логотипом phpMyAdmin, відкриється нове вікно. Просто натисніть на вкладку Історія SQL. Там ви можете побачити історію SQL-запитів.


2

Можливо, я помиляюся, але я вважаю, що я бачив список попередніх запитів SQL у файлі сеансу для сеансів phpmyadmin


Вибачення ... Я неправильно прочитав ваше запитання: список сеансу - це список попередніх висловлювань, виданих через phpmyadmin, тому він не містить жодних операторів SQL, виданих вашими власними скриптами PHP, тому, мабуть, це не корисно.
— Марк Бейкер

1

Гаразд я знаю, що я трохи спізнююсь, і деякі з вищезазначених відповідей чудові речі.

Хоча трохи, хоча на будь-якій сторінці PHPMyAdmin:

  1. Перейдіть на вкладку SQL
  2. Натисніть "Отримати автоматично збережений запит"

це покаже ваш останній введений запит.


0

ви можете запустити минулий mysql за допомогою run /PATH_PAST_MYSQL/bin/mysqld.exe

він запускає ваш останній mysql, і ви можете побачити його в phpmyadmin та інших розділах вашої системи.

зауважте: зупиніть свою поточну версію mysql.

SF Моя англійська.


0

чому ви не використовуєте експорт, натисніть перемикач "Спеціальні - відобразити всі можливі параметри", потім виберіть свою базу даних, потім перейдіть до "Вивід" і виберіть "Переглянути вихідний текст як текст", просто прокрутіть вниз і перейдіть. Вуаля!


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.