powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
14 сообщений из 14, страница 1 из 1
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993177
dartweider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую в приложении MySQL в виде Embedded (5.6, от версии не зависит) и не знаю как быть с бинарными логами. Дело в том, что если включить binlog, то тут же начинает создаваться куча файлов вида binlog.001 binlog.002 binlog.003 и т.д. На обычном сервере таких файлов создаётся за день всего несколько или вообще один, это зависит от настройки max_binlog_size.

В данном случае проблема, как я понимаю, состоит в том, что MySQL Embedded это не постоянно запущенный сервис (в привычном виде), а встроенный в программу движок и поэтому MySQL сервер "как бы запускается и останавливается" при каждом SQL запросе. И поскольку в MySQL почему-то задумано создавать новый бинарный лог при каждом перезапуске сервера (или это не так?), то получается что при использовании MySQL Embedded в программе создаются тысячи вот таких вот мелких файлов, вместо того чтобы хранить все логи в одном.

Возможно у кого-то есть опыт в решении данной проблемы именно при работе со встроенным движком MySQL в своей программе (MySQL Embedded)?

Конфигурация стандартная:
log-bin=mysql-bin
binlog_format=mixed
max_binlog_size=1073741824
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993617
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartweider, а действительно ли их надо вообще включать ? не слишком ли это для встраиваемой программы ?
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993621
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartweiderпри использовании MySQL Embedded в программе создаются тысячи вот таких вот мелких файлов, вместо того чтобы хранить все логи в одном.

а по-моему нет
он "запускается" функцией mysql_library_init() при попытке его инициализировать через библиотеку.
то есть, вы постоянно вызываете инициализацию вместо того чтобы делать это при старте программы.

может, просто так не делать ?
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993626
dartweider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

Нет, думаю не слишком :-) Как по вашему еще можно обезопасить хранилище данных, кроме как бинарными логами? Никак. Бинарные логи помогут восстановить информацию в случае внезапного отключения электричества, BSOD в системе и так далее. Вопрос ведь не в том нужно их использовать или нет, а в том, почему они некорректно работают в MySQL Embedded. Может я что-то не так делаю в программе или может в конфиге нужно что-то добавить...
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993634
dartweider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwinddartweiderпри использовании MySQL Embedded в программе создаются тысячи вот таких вот мелких файлов, вместо того чтобы хранить все логи в одном.

а по-моему нет
он "запускается" функцией mysql_library_init() при попытке его инициализировать через библиотеку.
то есть, вы постоянно вызываете инициализацию вместо того чтобы делать это при старте программы.

может, просто так не делать ?

Вот, уже ближе к делу. Смотрите, на форму кинут компонент TFDPhysMySQLDriverLink и собственно в его свойствах указа путь к Dll и сервера и клиента. Т.е. это статический компонент на форме, он не пересоздаётся для каждого запроса. Дальше уже создаются (динамически) подключения и запросы.

conn := TFDConnection.Create(nil);
query := TFDQuery.Create(nil);

Получается, что может быть виноват кривой компонент FireDAC для работы с базой (в моём случае), который каждый раз переинициализирует библиотеку MySQL?
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993647
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, виноват тот, кто создаёт каждый раз коннект заново вместо того, чтобы пользоваться одним и тем же.
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993686
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartweidernetwind,

Нет, думаю не слишком :-) Как по вашему еще можно обезопасить хранилище данных, кроме как бинарными логами? Никак
просто использовать innodb. он же тоже в встраиваемой версии работает.
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993692
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и потом, что значит "обезопасить данные" ?
У вас же не банковская программа наверняка. Ну потерялась транзакция и что ?
Способы починки myisam гуглятся на раз.
На пустом месте проблему выдумали, как мне кажется.
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993769
dartweider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovНет, виноват тот, кто создаёт каждый раз коннект заново вместо того, чтобы пользоваться одним и тем же.

Коннекты создаются динамически, потому что их может быть 1-2 а может и 200. И они работают одновременно, очередь из SQL запросов в одном коннекте тут не канает. Причем тут они вообще? Если бы мне нужен был один коннект к базе, то я бы использовал SQLite и не трогал MySQL. Согласитесь? :-)
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993778
dartweider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwindНу и потом, что значит "обезопасить данные" ?
У вас же не банковская программа наверняка. Ну потерялась транзакция и что ?
Способы починки myisam гуглятся на раз.
На пустом месте проблему выдумали, как мне кажется.

netwindпросто использовать innodb. он же тоже в встраиваемой версии работает.

Согласен с вами, просто хочу сделать программу понадёжнее, чтобы юзерам было как можно меньше геморроя. Вылеты и сбои Windows у юзеров нередкость, поэтому и боюсь за базу. Почему делаю упор на бинарные логи - в случае сбоя и правильной настройке база сама себя восстановит автоматически.

Извините, я не гуру в MySQL. Получается что лучше использовать innodb вместо MyISAM? Точнее не так надо спросить - разве в случае отсутствия бинарных логов innodb надежнее чем myisam? Само по себе innodb хранилище считает гораздо надежнее чем MyISAM, но медленнее... Но в случае отсутствия binlog (если его вообще не использовать) эта надежность сохраняется? (сбой по питанию, сбой диска и т.д.)
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993796
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПочему делаю упор на бинарные логи - в случае сбоя и правильной настройке база сама себя восстановит автоматически.
Это неверно. назначение у log-bin в принципе другое. не для восстановления транзакций, а для репликации.
А вот innodb по своим логам восстановит или откатит потерянные записи.
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993806
dartweider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwindавторПочему делаю упор на бинарные логи - в случае сбоя и правильной настройке база сама себя восстановит автоматически.
Это неверно. назначение у log-bin в принципе другое. не для восстановления транзакций, а для репликации.
А вот innodb по своим логам восстановит или откатит потерянные записи.

Знаю, но они так же используются и для восстановления. А вот то, что у InnoDB есть свои логи я как-то подзабыл. Спасибо за совет, попробую отключить нафиг binlog и попробую использовать только InnoDB. Тут уже опасения совсем другие - скорость, но надеюсь всё будет прекрасно, нагрузки на базу минимальная.
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993812
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartweider,

1. то что первое приходит в голову (и единственное) -
не правильно понимается параметр
Код: plaintext
max_binlog_size=>>>1073741824<<<
пробуйте указать с литерами
Код: plaintext
max_binlog_size= >>>500M<<<
2. Попробуйте понять, при какой операции появляется новый binlog-файл (по-старинке - с ручкой и бумажкой, сделал это во столько-то, это во столько-то...)
и вы не указали каков размер этих файлов, для понимания происходящего...на какой ОС (Win-Lin)? Что у вас еще в конфиге?
...
Рейтинг: 0 / 0
Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
    #38993818
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartweider, не используются для восстановления.
могут использоваться для восстановления в определенных сценариях умными людьми, но сам mysql их не читает даже никогда.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Бинарные логи в MySQL Embedded, есть ли у кого опыт решения проблемы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]