Архив Июнь 2009

Про MySQLbinlog

Базы данных имеют свойство пропадать и теряться. Факторов довольно много, от отключения света и отсутствия бэкапа, до черезмерного возлияния пивом в день Сисадмина.
Судя по всему разработчики MySQL бухали что черти и частенько роняли базы, потому и создали отличную утилиту mysqlbinlog которая умеет восстанавливать БД из бинарных логов.

Включаются данная функция в файле конфигурации мускула (my.ini, my.cnf в зависимости от ОС), опцией log_bin в которой и указываются пути до бинарных логов. По умолчанию кстати она отключена, так что лучше ее включить, дабы обезопасить себя от форс-мажорных обстоятельств.

mysqlbinlog -help введенный в консоли - подробно расскажет о опциях данной утилиты.

Восстановление из определенного файлика:

mysqlbinlog -s -d db_name -r dump.sql mysql-bin.000001

Таким образом мы восстанавливаем db_name в файлик dump.sql который в последствии можно будет залить в MySQL следующим способом:

mysql -u user -ppass < dump.sql

У данной утилиты существует еще куча опций и возможностей, которые подробно рассмотрены в мануале по mysqlbinlog.