Разбор двоичного журнала MySQL в реальном времени

мы имеем дело с устаревшим приложением, построенным на MySQL 5.0 (MyISAM). Мне нужно знать в в реальном времени, когда обновление, удаление или вставка происходит с определенной таблицей. Проблема в том, что я никак не могу изменить базу данных (т.е. триггеры записи). Мне нужно использовать журнал bin, репликацию или что-то еще, что не является инвазивным.

Мы рассмотрели использование команды mysqlbinlog для анализа двоичного журнала. Однако это не в реальном времени, и мы предпочли бы сделать что-то более событийное.

Есть идеи?

Вы когда-нибудь что-нибудь придумали для этого?

Oren Mazor 18.10.2012 21:25
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
6
1
3 134
3

Ответы 3

проверьте Прокси MySQL. он позволяет вам нажимать прямо в потоке команд / ответов и полностью программируется в Lua. вы даже можете изменять команды в реальном времени, если хотите

Мы немного посмотрели на это, и это могло сработать. План был бы следующим: 1) Измените порт, который слушает MySQL, а затем установите его на старый порт MySQL. 2) Захватить действия в нашу таблицу и вызвать какую-нибудь команду оболочки. Однако мы бы предпочли использовать <b> mysqlbinlog </b> как <b> демон </b>.

JJohnson 24.10.2008 01:35

Прокси-сервер MySQL больше не развивается. MySQL Router заменил его с аналогичной функциональностью.

Miljen Mikic 10.05.2018 10:41

Я экспериментирую с использованием mysqlbinlog -R -t, чтобы получить фид в реальном времени, он работает до конца, затем вам нужно найти последнюю прочитанную позицию и продолжить там, в сочетании с запросом файлов журнала, это должно дать вам все файлы один за другим .... экспериментирую с этим ..

Кроме того, если вы хотите узнать в режиме реального времени, произошло ли изменение в одной таблице, я бы посоветовал вам создать триггер на главном сервере, а затем вы можете вставить данные в отдельную базу данных, которая реплицируется сама по себе. внутри триггера вы можете получить доступ к другому серверу, даже используя интегрированный сервер. http://dev.mysql.com/tech-resources/articles/mysql-federated-storage.html

Другие вопросы по теме