Você pode examinad o arquivo de log binário (see
        Secção 4.10.4, “O Log Binário”) com o utilitário
        mysqlbinlog.
      
shell> mysqlbinlog hostname-bin.001
        exibirá todas as consultas contidas no log binário
        hostname-bin.001, junto com outras
        informações (tempo da consulta, ID da thread que a executou, o
        timestamp de quando foi executada, etc).
      
        Você pode colocar a saída do mysqlbinlog em
        um cliente mysql; isto é usado para
        recuperações de falhas quando você tem um backup antigo (see
        Secção 4.5.1, “Backups dos Bancos de Dados”):
      
shell> mysqlbinlog hostname-bin.001 | mysql
ou
shell> mysqlbinlog hostname-bin.[0-9]* | mysql
        Você também pode redirecionar a saída do
        mysqlbinlog para um arquivo texto, então
        modifique este arquivo texto (para excluir as consultas que
        você não quer executar por alguma razão), e então execute as
        consultas a partir do arquivo texto dentro do
        mysql.
      
        mysqlbinlog possui a opção
        position=# que exibirá apenas as consultas
        cujo offset no log binário é maior ou igual a
        #.
      
Se você tiver mais que um log binário para executar no servidor MySQL, o método seguro é fazê-lo em uma única conexão MySQL. Aqui está o que pode ser INseguro:
shell>mysqlbinlog hostname-bin.001 | mysql # DANGER!!shell>mysqlbinlog hostname-bin.002 | mysql # DANGER!!
        Isto causará problemas se o primeiro log binário conter um
        CREATE TEMPORARY TABLE e o segundo contém
        uma consulta que utiliza esta tabela temporária: quando o
        primeiro mysql termina, ele apara a tabela
        temporária, assim a o segundo mysql
        relatará um ``tabela desconhecida''. Isto ocorre porque você
        deve executar todos os log binários que você deseja em uma
        única conexão, especialmente se você usa tabelas
        temporárias. Aqui estão dois modos possíveis:
      
shell> mysqlbinlog hostname-bin.001 hostname-bin.002 | mysql
shell>mysqlbinlog hostname-bin.001 > /tmp/queries.sqlshell>mysqlbinlog hostname-bin.002 >> /tmp/queries.sqlshell>mysql -e "source /tmp/queries.sql"
        A partir do MySQL 4.0.14, mysqlbinlog pode
        preparar uma entrada para o mysql executar um
        LOAD DATA INFILE a partir de um log binário.
        Como o log binário contém os dados para carregar (isto é
        verdade para o MySQL 4.0; o MySQL 3.23 não grava o dado
        carregado em um log binário, assim o arquivo original era
        necessário quando se queria executar o conteúdo do log
        binário), mysqlbinlog copiará este data
        para um arquivo temporário e imprime um comando LOAD
        DATA INFILE para o mysql carregar
        este arquivo temporário. O local onde o arquivo temorário é
        criado é o diretório temporário por padrão; ele pode ser
        alterado com a opção local-load do
        mysqlbinlog.
      
        Antes do MySQL 4.1, mysqlbinlog não podia
        preaparar saída cabíveis para mysql quando
        o log binário continha consultas de diferentes threads usando
        tabelas temporárias de mesmo nome, se estas consultas eram
        entrelaçadas. Isto está resolvido no MySQL 4.1.
      
        Você também pode usar o mysqlbinlog
        --read-from-remote-server para ler o log binário
        diretamente de um servidor MySQL remoto. No entanto, isto é
        algo que está obsoleto já que queremos tornar fácil de se
        aplicar os logs binários em servidores MySQL em execução.
      
        mysqlbinlog --help lhe dará mais
        informações
      
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

