За последние 24 часа нас посетили 22002 программиста и 1007 роботов. Сейчас ищут 633 программиста ...

Логирование

Тема в разделе "MySQL", создана пользователем lastdays, 6 июн 2017.

  1. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Подскажите пожалуйста, возможно ли сделать логирование запросов к определенной таблицы и как.
    Интересует конкретная таблица с действиями update/delete
    Спасибо!!!
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Можно включить логирование или через triggers в mysql
     
  3. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Код (Text):
    1. DELIMITER |
    2. CREATE TRIGGER `trigger_test` AFTER DELETE ON `table`
    3. FOR EACH ROW BEGIN
    4.    INSERT INTO trigger_log Set msg = 'DELETE', row_id = OLD.id;
    5. END;
    Подобный вариант работает конечно, но мне необходимо знать и вызов скрипта или хотябы увидеть полностью запрос.
    Есть варианты какие-нибудь ещё?

    Если включать полное логирование, то там жесть что будет происходить, мне незачем фулл таблицы и действия логировать.
     
  4. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Вариант с записью полного запроса есть. Уже лучше!

    Код (Text):
    1.  
    2. DROP TRIGGER IF EXISTS `trigger_test`;
    3.  
    4. DELIMITER //
    5. CREATE TRIGGER `trigger_test` BEFORE DELETE ON `table`
    6. FOR EACH ROW BEGIN
    7. DECLARE `original_query` VARCHAR(1024);
    8. SET `original_query` = (SELECT `info` FROM INFORMATION_SCHEMA.PROCESSLIST WHERE `id` = CONNECTION_ID());
    9. INSERT INTO trigger_log Set msg = `original_query`, row_id = OLD.id;
    10. END;
    11. //
    12. DELIMITER ;
    Но блин, хотелось бы и всё остальное определить, есть предложения как дополнить? файл/вызов, такое в природе вообще возможно с триггерами? спасибо за ответы знающих.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    в пхп логировать
     
  6. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    В PHP на данный момент не варик, уж очень большая "система" и процесс удаления происходят в 30 местах как минимум при определенных обстоятельствах. Ну и написана она уж очень давно.

    Подключена одна общая функция (которая и удаляет данные), но и используется она не везде, конечно логирование туда записать можно, но в остальных случаях нет.
    Что-то хочется более рентабельное, чем лезть в код везде.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    логировать запросы в той штуке, которая их в бд отправляет.
     
    artoodetoo нравится это.
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    mysql не знает о вызывающей стороне практически ничего.

    +1. но это если везде используется единая обертка над mysqli/pdo. а если код безумная лапша, то придётся сначала навести порядок.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    конец
    если код безумная лапша, то конец
    :D
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    решение: наплевать и забыть :)
     
  11. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Была бы единая обертка, не возникло бы и вопросов, ну что же, спасибо и на этом )
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    а как это сейчас выглядит?
     
  13. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754