Эта строчка на bash-е поможет извлечь из binlog все изменения данных для последующего их применения к данной базе: Допустим что логи лежат в /var/lib/mysql/ , тогда mysqlbinlog —verbose /var/lib/mysql/mysqld-bin.[0-9]* | egrep ‘^### ‘ | sed -e ‘s/^### //g’ -e ‘s/^INSERT/;\nINSERT/g’ -e ‘s/^UPDATE/;\nUPDATE/g’ -e ‘s/^DELETE/;\nDELETE/g’ > dump.sql ; echo «;» >> dump.sql выгрузит лог всех операций в…
Метка: mysql
Репликация mysql: Повышение производительности slave
В большинстве случаев репликация mysql проблем не вызывает, но что делать, если данные master обновляются настолько часто, что slave не успевает за ними? Вероятная причина кроется в алгоритме синхронизации InnoDb Ситуацию исправит innodb_flush_log_at_trx_commit=0 дефолтом значение ключа =1, суть в том , что дефолтом (при значении равном 1) flush и буффер лога реплики сбрасывается на диск…
просмотр содержимого binlog файлов mysql
Переведя мастер-репликации на формат row (binlog_format = row) возник вопрос: — как же теперь можно покопаться в бинарных журналах (командой mysqlbinlog) и получить что-то читаемое, ведь теперь ее вывод кодируется в base64? — как декодировать base64 вывод mysqlbinlog из base64 обратно в текст? Ничего хорошего из декодирования base64 подручными средствами не получилось (числовые переменные хранятся в бинарном виде)….