Чи є спосіб переглянути попередні запити 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.