IMPORTANT:
        If you are using this release on Windows, you should upgrade at
        least your clients (any program that uses
        libmysql.lib) to 4.0.16 or above. This is
        because the 4.0.15 release had a bug in the Windows client
        library that causes Windows clients using the library to die
        with a Lost connection to MySQL server during
        query error for queries that take more than 30
        seconds. This problem is specific to Windows; clients on other
        platforms are unaffected.
      
Funcionalidades adicionadas ou alteradas:
            O mysqldump agora coloca todos os
            identificadores corretamente entre aspas ao conectar com o
            servidor. Isto assegura que durante o processo de dump, O
            mysqldump nunca enviará consultas ao
            servidor que resultam em um erro de sintaxe. Este problema
            não está relacionado a
            saída do programa mysqldump, que não
            foi alterado. (Bug#1148)
          
            Altera a informação de metadados do resultado e assim
            MIN() e MAX()
            informamm que eles podem retornar NULL
            (isto é verdade porque um conjunto vazio retornará
            NULL). (Bug#324)
          
            Produz uma mensagem de erro no Windows se um segundo
            servidor mysqld é iniciado na mesma
            porta TCP/IP que um servidor mysqld já
            em execução.
          
            As variveis do servidor mysqld
            wait_timeout,
            net_read_timeout e
            net_write_timeout agora funcionam no
            Windows. Agora pode-se também definir o tempo limite de
            leitura e escrita em clientes Windows com a opção
            mysql_options()
          
            Adicionada a opção
            --sql-mode=NO_DIR_IN_CREATE para tornar
            possível para os slaves ignorarem as opções
            INDEX DIRECTORY e DATA
            DIRECTORY dadas para CREATE
            TABLE. Quando ele está ligado, SHOW
            CREATE TABLE não exibirá os diretórios dados.
          
            SHOW CREATE TABLE agora exibe as opções
            INDEX DIRECTORY e DATA
            DIRECTORY, se eles fossem especificados quando a
            tabela era criada.
          
            A variável do servidor open_files_limit
            agora exibe o limite de arquivos abertos real.
          
            MATCH ... AGAINST() em modo de linguagem
            natural agora tratam de palavra presentes em mais de
            2,000,000 linhas como stopwords.
          
            As imagens do disco de instalação do Mac OS X agora
            incluem um pacote MySQLStartupItem.pkg
            adicional que habilita a inicialização automática do
            MySQL no boot do sistema. See
            Secção 2.1.3, “Instalando o MySQL no Mac OS X”.
          
            A maioria da documentação incluída na distribuição tar
            do binário (.tar.gz) foi movida para o
            subdiretório docs. See
            Secção 2.2.5, “Layouts de Instalação”.
          
            O manual agora está incluído com um arquivo
            info tradicional na distribuição
            binária. (Bug#1019)
          
            A distribuição binária agora incluem a biblioteca do
            servidor embutido (libmysqld) por
            padrão. Devido a problemas de ligação com compiladores
            diferentes do gcc, ele não estava incluído em todos os
            pacotes da distribuição inicial da versão 4.0.15. Os
            pacotes afetados forma reconstruidos e distribuidos como
            4.0.15a. See Secção 1.5.1.2, “Servidor Embutido MySQL”.
          
            O MySQL agora pode usar o otimizador de faixa para
            BETWEEN com limites não constantes. (Bug#991)
          
Mensagens de erro de replicação agora incluem o banco de dados padrão, assim os usuários podem verificar em qual banco de dados a consulta com erro está rodando.
            Uma alteração da documentação: Adicionado um parágrafo
            sobre como as opções binlog-do-db e
            binlog-ignore-db são testadas em um
            banco de dados no master (see Secção 4.10.4, “O Log Binário”),
            e um parágrafo sobre como
            replicate-do-db,
            replicate-do-table e opções análogas
            são testadas em bancos de dados e tabelas no slave (see
            Secção 4.11.6, “Opções de Inicialização da Replicação”).
          
            Agora o slave não replica SET PASSWORD
            se estiver configurado para excluir o banco de dados
            mysql da replicação (usando, por
            exemplo,
            replicate-wild-ignore-table=mysql.%).
            Este já era o caso para GRANT e
            REVOKE desde a versão 4.0.13 (embora
            houvesse o Bug#980 nas versões 4.0.13 & 4.0.14, que
            foi corrigido na versão 4.0.15).
          
            Rewrote the information shown in the
            State column of SHOW
            PROCESSLIST for replication threads and for
            MASTER_POS_WAIT() and added the most
            common states for these threads to the documentation, see
            Secção 4.11.3, “Detalhes de Implementação da Replicação”.
          
Adiciona um teste na replicação para detectar o caso no qual o master morre no meio da gravação de uma transação no log binário; tal transação inacabada agora dispara uma mensagem de erro no slave.
            Um comando GRANT que cria um usuário
            anônimo (isto é, uma conta com nome de usuário vazio)
            não exige mais FLUSH PRIVILEGES para a
            conta ser conhecida no servidor. (Bug#473)
          
            CHANGE MASTER agora descarrega o
            relay-log.info. Anteriormente isto era
            feito na próxima execução de START
            SLAVE, assim se o mysqld fosse
            desligado no slave depois de CHANGE
            MASTER sem executar START
            SLAVE, o nome e posição do relay log eram
            perdidos. Na reinicialização eles eram carregados a partir
            do relay-log.info, revertendo-os para
            seus valores antigos (incorretos) de antes do
            CHANGE MASTER, exibindo mensagens de erro
            (já que o relay log antigo não existia mais) e as threads
            slaves se recusavam a iniciar. (Bug#858)
          
Bugs corrigidos:
            Corrigido o overflow do buffer no tratamewnto de senhas, que
            podia potencialmente ser explorardo pelo usuário MySQL com
            privilégios na tabela mysql.user para
            executar código aleatórios para obter acessi com o UID do
            processo mysqld (obrgado a Jedi/Sector One por detectar e
            reportar este erro.)
          
            Corrigido um falha do servidor com FORCE
            INDEX em uma consulta contendo "Range checked for
            each record" na saída do EXPLAIN. (Bug#1172)
          
Corrigido o tratamento de permissão de tabelas/colunas - a ordenação apropriada (do mais específico para o menos específico, see Secção 4.3.10, “Controle de Acesso, Estágio 2: Verificação da Requisição”) não era respeitada (Bug#928)
            Corrigido um bug raro no MYISAM introduzido na versão 4.0.3
            onde o handler do arquivo de índice não era diretamente
            atualizado depois de um UPDATE de
            registros dinamicos separados.
          
            Corrigido o erro Can't unlock file ao
            executar myisamchk --sort-index no
            Windows. (Bug#1119)
          
            Corrigido um possível deadlock ao alterar
            key_buffer_size enquanto a cache de
            chaves era ativamente usada. (Bug#1088)
          
            Corrigido um bug de overflow em MyISAM e
            ISAM quando um registro era atualiado na
            tabela com um grande número de colunas e pelo meno uma
            coluna BLOB/TEXT.
          
            Corrigido um resultado incorreto ao fazer
            UNION e LIMIT #,#
            quando não era usado parenteses na parte
            SELECT.
          
            Corrigido um resultado incorreto ao fazer
            UNION e ORDER BY .. LIMIT
            # quando não usado parenteses na parte
            SELECT.
          
            Corrigido um problema com SELECT
            SQL_CALC_FOUND_ROWS ... UNION ALL ... LIMIT # onde
            FOUND_ROWS() retornava o número
            incorreto de linhas.
          
            Corrigidos um erro de pilha indesejado quando tinhamos uma
            grande expressão do tipo 1+1-1+1-1... de
            uma ceta combinação. (Bug#871)
          
            Corrigido o erro que algumas vezes fazia uma tabela com um
            índice FULLTEXT estar marcada como
            "analyzed".
          
            Corrigido o MySQL para que o tamanho do campo (na API C)
            para a segunda coluna em SHOW CREATE
            TABLE seja sempre maior que o tamanho do dado. A
            única aplicação conhecida que era afetada pelo
            comportamento anterior era o Borland dbExpress, que truncava
            a saída do comando. (Bug#1064)
          
            Corrigida a falha na comparação de strings usando o
            conjunto de caracteres tis620. (Bug#1116)
          
            Corrigido um bug do ISAM na otimização
            de MAX().
          
            myisamchk --sort-records=N não marca
            mais a tabela como danificada se a ordenação falhar devido
            a uma chave inapropriada. (Bug#892)
          
            Corrigido um erro no tratamento de tabelas
            MyISAM compactadas que algumas vezes
            torna impossível se reparar tabelas compactadas no modo
            "Repair by sort". "Repair with keycache" (myisamchk
            --safe-recover) funcionad. (Bug#1015)
          
Correção de um erro na propagação do número da versão do manual incluído no arquivo de distribuição. (Bug#1020)
            Corrigida um problema de ordenacao da chave (uma chave
            primária - PRIMARY - declarada em uma
            coluna que não é explicitamente marcada como NOT
            NULL era ordenada depois de uma chave
            UNIQUE para uma coluna NOT
            NULL).
          
            Corrigido o resultado de INTERVAL qaundo
            aplicado a um valor DATE. (Bug#792)
          
Corrida a compilação da biblioteca do servidor embutido da arquivo de especificação do RPM. (Bug#959)
Adicionado alguns arquivos que faltavam na arquivo de especificação do RPM e corrigido alguns erros de criação do RPM que ocorriam no Red Hat Linux 9. (Bug#998)
            Corrigida a avaliação incorreta de XOR
            na cláusula WHERE. (Bug#992)
          
Corrigido um erro com processamento na cache de consultas com tabelas unidas a partir de mais de 255 tabelas. (Bug#930)
            Correção dos resultados incorretos da consulta outer join
            (ex. LEFT JOIN) quando a condição
            ON é sempre falsa, e a faixa de busca é
            usada. (Bug#926)
          
            Corrigido um erro causando resultados incorretos de
            MATCH ... AGAINST() em algumas joins.
            (Bug#942)
          
            Tabelas MERGE não ignoram mais "Using
            index" (da saída de EXPLAIN).
          
Corrigido um erro que fazia uma tabela vazia ser marcada como "analyzed". (Bug#937)
            Corrigida a falha em myisamchk
            --sort-records quando usada em tabelas
            compactadas.
          
            Corrigido o ALTER TABLE lento (quando
            comparado a versão 3.23) e comandos relacionados tais como
            CREATE INDEX. (Bug#712)
          
            Correção de segmentation fault resultante de LOAD
            DATA FROM MASTER quando o mestre estava executando
            sem a opção --log-bin. (Bug#934)
          
            Corrigido um erro de segurança: Um servidor compilado com
            suporte a SSL ainda permitia conexões por usuários que
            tinham a opção REQUIRE SSL
            especificadas por suas contas.
          
            Corrigido um erro aleatório: Algumas vezes o slave
            replicava consultas GRANT ou
            REVOKE mesmo se estivesse configurado
            para excluir o banco de dados mysql da
            replicação (por exemplo, usando
            replicate-wild-ignore-table=mysql.%).
            (Bug#980)
          
            Os campos Last_Errno e
            Last_Error na saída de SHOW
            SLAVE STATUS agora são limpadas por
            CHANGE MASTER e quando a thread slave de
            SQL inicia. (Bug#986)
          
            Um erro de documentação: ela dizia que RESET
            SLAVE não altera a informação de conexão
            (master host, port, user e password), embora ela o fizesse.
            A instrução retorna estes valores para a opção de
            inicialização (master-host etc) se
            houvesse alguma. (Bug#985)
          
            SHOW SLAVE STATUS agora exibe a
            informação correta (master host, port, user e password)
            depois de RESET SLAVE (isto é, ela
            mostra os novos valores, que são copiados das opções de
            inicialização se houver alguma). (Bug#985)
          
            Disabilitada a propagação da posição original do log do
            master para eventos porque isto gerava valores inesperados
            para Exec_Master_Log_Pos e problemas com
            MASTER_POS_WAIT() em configurações de
            replicação A->B->C. (Bug#1086)
          
            Corrigido uma segmentation fault no
            mysqlbinlog quando
            --position=x era usado com
            x estando entre um evento
            Create_file e o evento
            Append_block,
            Exec_load ou
            Delete_file. (Bug#1091)
          
            mysqlbinlog exibia avisos superfluos
            quando se usava --database, o que causava
            erro de sintaxe quando enviado para
            mysql. (Bug#1092)
          
            O mysqlbinlog --database também filtra
            LOAD DATA INFILE (anteriormente, ele
            filtrava todas as consultas exceto LOAD DATA
            INFILE). (Bug#1093)
          
            O mysqlbinlog em alguns casos esquece de
            colocar um '#' em frente do LOAD
            DATA INFILE original (este comando é exibido
            apenas para informação, não para ser executado; mais
            tarde ele funcionava como LOAD DATA LOCAL
            com um nome de arquivo diferente, para execução pelo
            mysql). (Bug#1096)
          
            binlog-do-db e
            binlog-ignore-db filtravam LOAD
            DATA INFILE incorretamente (ele era escrito
            parcialmente para o log binário). Isto resultava em um
            corrompimento do log binário, que podia fazer o slave parar
            com um erro. (Bug#1100)
          
            Quando, em uma transação, um tabela transacional (como uma
            tabela InnoDB) era atualizada, e
            posteriormente na mesma transação um tabela não
            transacional (como um tabela MyISAM) era
            atualizada usando o conteúdo atualizado da tabela
            transacional (com INSERT ... SELECT por
            exemplo), as consultas eram escritas no log binário em uma
            ordem incorreta. (Bug#873)
          
            Quando em uma transação, INSERT ...
            SELECT atualizava uma tabela não transacional, e
            um ROLLBACK era executado, nenhum erro
            era atualizado para o cliente. Agora o cliente é avisado
            que não se pode fazer roll back de algumas alterações,
            como já era o caso para um INSERT
            normal. (Bug#1113)
          
            Corrigido um erro portencial: Quando STOP
            SLAVE era executado enquanto a thread slave de SQL
            estava no meio de uma transação, e então CHANGE
            MASTER era usado para direcionar para o slave para
            alguma instrução não transacional, a thread slave de SQL
            ficava confusa (porque ela ainda podia achar que estava em
            uma transação).
          
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.

