Как извлечь данные из двоичного файла журнала и вставить в желаемую таблицу в MySQL? - PullRequest
2 голосов
/ 26 марта 2010

Как извлечь данные из двоичного файла журнала и вставить в нашу нужную таблицу в MySQL?

Я нахожусь на пути написания сценария PHP-кода для Audit Trail, в этом я столкнулся с ситуацией, что если будет создана новая таблица, то я не буду доступен с триггерами для этой новой таблицы, и, следовательно, отслеживание не будет для этого, поэтому, если я закодирую его, чтобы создать три новых триггера для этой новой таблицы, то как будет выполнено последнее изменение в этой таблице? Следовательно, я обнаружил, что двоичный файл журнала может быть полезен для меня в этом случае, чтобы получить последнее изменение для этой новой таблицы и вставить его в таблицу отслеживания ... НО КАК ????

1 Ответ

2 голосов
/ 26 марта 2010

Если вы говорите о двоичном лог-файле MySQL (mysql-bin), он не предназначен для чтения ничем, кроме MySQL - это файл журнала транзакций. Данные в файле журнала в большинстве случаев уже будут в вашей базе данных к тому времени, когда вы их прочитаете.

Возможно, если вы отредактируете свой ответ, чтобы предоставить больше информации о том, чего вы пытаетесь достичь, вы можете получить лучший ответ и решение.

EDIT:

Анализ двоичного файла журнала вызовет больше головной боли - это внутренний файл для MySQL, и, как известно, он меняется между выпусками. Он также меняет формат в зависимости от того, как настроен сервер (на основе строк / на основе операторов / смешанный формат.) Администраторы сервера также могут полностью отключить двоичное ведение журнала.

Если вы можете справиться с падением производительности, вам, возможно, будет лучше регистрировать все запросы - вы можете записать их в файл или даже в таблицу базы данных (хотя в ранних версиях MySQL 5.1 были серьезные потери производительности ; это все еще может иметь место.) Это регистрирует все запросы SQL, полученные от клиентов, так что вы можете проверить запрос CREATE TABLE и все операторы, изменяющие данные в этой таблице.

http://dev.mysql.com/doc/refman/5.1/en/query-log.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...