MySQL - mysql/var/aaaa-bin.xxx - что это

Ответить
Аватара пользователя
farlow

MySQL - mysql/var/aaaa-bin.xxx - что это

Сообщение farlow »

система фрибсд

в папке ../mysql/var появляются файлы aaa-bin.xxx, где aaa название хоста я так понимаю

а ххх это числа 001,002, и т.д вес каждого файла очень внушительный

так же есть еще xxx-bin.index где прописаны все файлы вида aaa-bin.xxx





скажите пжлста что это, и как сделать чтоб они не пладились

а то за месяц 25 гигов уже захавали
Аватара пользователя
farlow

Re: MySQL - mysql/var/aaaa-bin.xxx - что это

Сообщение farlow »

верней что это мне я понял, как сделать чтоб они были более компактнфе и не хавали лишнего
Аватара пользователя
vadimiron

Re: MySQL - mysql/var/aaaa-bin.xxx - что это

Сообщение vadimiron »

farlow,

Я не знаю точно, но похоже на файлы лога

Поищите в мануале MySQL-а команды, связанные с ведением лога. Там можно лог свовсем отключить или разрешать только до определённого количества Гигабайт или переключить лог только на одну базу и тд.



Только учтите, что для некоторых операций Лог нужен и они без лога не будут работать: например, репликация работает только благодаря логу
Аватара пользователя
farlow

Re: MySQL - mysql/var/aaaa-bin.xxx - что это

Сообщение farlow »

весь мануал не осилил, в конфе тоже не нашол ничего подходящего чтоб ограничить эти логи Изображение
Аватара пользователя
farlow

Re: MySQL - mysql/var/aaaa-bin.xxx - что это

Сообщение farlow »

Поглядите в конфигах, может на эти файлы имеются ссылки и по этим ссылкам можно определить косвено что да как.
Аватара пользователя
Prisoner

Re: MySQL - mysql/var/aaaa-bin.xxx - что это

Сообщение Prisoner »

vadimiron, ИМХО это двоичные журналы репликации, Вам так не кажется?
Аватара пользователя
Negativ

Re: MySQL - mysql/var/aaaa-bin.xxx - что это

Сообщение Negativ »

журнал транзакций или чето в этом роде, но где в конфиге ограничить размер так и не нашол
Аватара пользователя
farlow

Re: MySQL - mysql/var/aaaa-bin.xxx - что это

Сообщение farlow »

farlow, Вот вам выдержки из хелпа по MySQL:



Код:

Код: Выделить всё

4.9.4 Бинарный журнал обновлений
Бинарный журнал содержит всю информацию, имеющуюся в журнале обновлений, в более эффективном формате. В нем имеется информация и о времени выполнения каждого обновляющего базу запроса. 
Бинарный журнал используется и при репликации подчиненного сервера (slave) с головного (master) (see section 4.10 Репликация в MySQL). 
При запуске с ключом --log-bin[=file_name] mysqld создает файл журнала, в который вносятся данные обо всех обновляющих данные командах SQL. Если имя файла не задано, по умолчанию ему дается имя хоста с окончанием -bin. Если файлу присвоено имя, не содержащее пути доступа к нему, этот файл сохраняется в каталоге данных. 
При вводе расширения в имя файла (например: --log-bin=filename.extension) это расширение удаляется без предупреждения. 
К имени файла бинарного журнала программа mysqld прибавляет специальное расширение - номер, увеличивающийся при каждом выполнении команд mysqladmin refresh, mysqladmin flush-logs, FLUSH LOGS или перезапуске сервера. При достижении файлом журнала максимального размера, заданного в параметре max_bin_log_size, автоматически создается новый. Все неактивные файлы бинарных журналов можно удалить командой RESET MASTER (see section 4.5.4 Синтаксис команды RESET. 
На выбор данных, записываемых в журнал, влияют следующие настройки mysqld: 
Опция  Описание  
binlog-do-db=database_name  Заставляет master заносить в журнал все обновления определенной базы данных, все явно не указанные базы исключаются (пример: binlog-do-db=some_database)  
binlog-ignore-db=database_name  Заставляет master отказаться от занесения в журнал обновлений определенной базы данных (пример: binlog-ignore-db=some_database)  
Чтобы была возможность определить, какие файлы журналов используются в данный момент, mysqld создает и индексный файл, содержащий имена всех находящихся в работе файлов. По умолчанию ему присваивается то же имя, что и файлу журнала, но с расширением .index. Имя этого файла можно изменить с помощью параметра --log-bin-index=[filename]. 
При использовании репликации удалять старые файлы журналов не стоит до тех пор, пока вы не будете уверены в том, что они никогда не понадобятся ни одной зависимой базе. Добиться такого результата можно, запуская команду mysqladmin flush-logs раз в день и затем удаляя все журналы, созданные более 3 дней назад. 
Работать с файлами бинарного журнала можно с помощью программы mysqlbinlog. Обновить MySQL в соответствии с записями в журнале можно так: 
mysqlbinlog log-file | mysql -h server_name
С помощью программы mysqlbinlog можно даже считывать файлы журнала прямо с удаленного сервера MySQL! 
При запуске mysqlbinlog с ключом --help на экран выводится дополнительная информация по работе с этой программой. 
При работе с настройками BEGIN [WORK] или SET AUTOCOMMIT=0 для резервного копирования нужно использовать бинарный журнал, а не старый журнал обновлений. 
Занесение данных в бинарный журнал происходит сразу по завершении исполнения запроса, но до снятия блокировок. Таким образом обеспечивается уверенность в том, что журнал ведется именно в порядке выполнения запросов. 
Все обновления (UPDATE, DELETE или INSERT), изменяющие транзакционную таблицу (например, BDB-таблицу) находятся в кэше до вызова COMMIT. Обновления нетранзакционных таблиц заносятся в журнал сразу же. При запуске каждого потока создается буфер запросов, объем которого соответствует значению параметра binlog_cache_size. Если запрос не помещается в буфере, поток создаст временный файл для кэша. Временный файл удаляется по завершении работы потока. 
Параметр max_binlog_cache_size позволяет ограничить общий объем памяти, используемой для кэширования мультитранзакционного запроса. 
При использовании журнала обновлений или бинарного журнала параллельные операции вставки столбцов в таблицу не могут работать с командами CREATE ... INSERT и INSERT ... SELECT. Это сделано специально - для того, чтобы обеспечить возможность создания точной копии таблиц путем объединения резервной копии с журналом.
Аватара пользователя
Negativ

Re: MySQL - mysql/var/aaaa-bin.xxx - что это

Сообщение Negativ »

Цитата farlow:



журнал транзакций или чето в этом роде, но где в конфиге ограничить размер так и не нашол
MySQL - mysql/var/aaaa-bin.xxx - что это




копаясь со своими бинарными журналами нашел как определить какие журналы лишние (т.е. их можно удалить).

Заходите в MySQL-мастер и выполняете команду:



Код:

Код: Выделить всё

mysql> show master status;
+--------------------+-----------+--------------+------------------+
| File               | Position  | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+-----------+--------------+------------------+
| base-bin.000006 | 581859298 |              |                  |
+--------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)

Отсюда видно что используется на данный момент base-bin.000006, ИМХО остальные можно смело удалить.
Ответить

Вернуться в «Программирование и базы данных»