Documentação do Duplicador

Documentação, materiais de referência e tutoriais para o Duplicator

Resolver problemas de escrita na base de dados


Este artigo fornece instruções detalhadas sobre a resolução de vários problemas da base de dados MySQL, incluindo erros de escrita e erros de falhas na criação da base de dados.

Erros de escrita na base de dados

Se o servidor de destino estiver no MySQL 5.7+ e o registo do Duplicador mostrar erros como: ERROR database error write '...', então, poderá ter problemas ao executar o MySQL em modo estrito. Se for esse o caso, tente as seguintes opções:

Mensagens de erro comuns

  • ERRO DE BD: Não foi possível obter a consulta CREATE para a tabela wp_XYZ. Informação incorrecta no ficheiro: './database_store/wp_XYZ.frm'
  • ERRO NA BASE DE DADOS: Esta função não tem nenhuma das opções DETERMINISTIC, NO SQL, ou READS SQL DATA na sua declaração e registo binário...
  • Existe um espaço de tabela para a tabela xxx. Descarte o espaço de tabela antes de IMPORTAR

Solução 1

Para erros gerais de escrita, há algumas opções a considerar. Experimente-as na ordem em que são apresentadas. A solução mais rápida é a OPÇÃO A, no entanto, para que a opção seja permanente no servidor, considere a OPÇÃO B.

OPÇÃO A

  • Ativar o modo Avançado do instalador.
  • Em Opções " Base de dados " Definições de extração, selecione Personalizado para as definições de Modo e introduza NO_ENGINE_SUBSTITUTION na caixa de texto.
  • Continue e conclua o processo de instalação.

OPÇÃO B

  • Abra este ficheiro no notepad: C:\wamp64\bin\mysql\mysql5.7.9\my.ini
  • Adicione a linha final ao ficheiro:
    [mysqld]
    port = 3306
    sql_mode=NO_ENGINE_SUBSTITUTION
  • Reinicie o servidor MySQL (os anfitriões de orçamento poderão ter de contactar o seu fornecedor de alojamento).
Se as OPÇÕES A/B não funcionarem, faça o seguinte:
  • Faça SSH no seu servidor como root e crie o ficheiro /etc/mysql/conf.d/disable_strict_mode.cnf.
  • Abra o ficheiro e introduza estas duas linhas:
    [mysqld]
    sql_mode=IGNORE_SPACE, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
  • Reinicie o MySQL executando: $ sudo service mysql restart

O procedimento acima é do serverpilot.io.

Solução 2

Resolver problemas de escrita para criar consultas relacionadas com a seguinte mensagem de erro:
EXCEPTION message: DB ERROR: Não foi possível obter a consulta CREATE para a tabela wp_XYZ. Informação incorrecta no ficheiro: './database_store/wp_XYZ.frm'

  • Execute uma reparação da base de dados no seu sítio WordPress atual.
  • Na Etapa 2 do instalador " separador Tabelas " Desmarque o sinalizador Importar para a tabela que está a gerar o problema.
  • Em alternativa, ao criar uma cópia de segurança no Passo 1, exclua a tabela em questão de ser adicionada.

Solução 3

Resolver problemas de escrita para funções relacionadas com a seguinte mensagem de erro:
ERRO DA BASE DE DADOS: Esta função não tem nenhum dos DETERMINISTIC, NO SQL, ou READS SQL DATA na sua declaração e o registo binário está ativado (pode querer utilizar a variável lesssafe. log_bin_trust_function_creators)

Ou, adicione o seguinte ao ficheiro de configuração mysql.ini:

Execute o seguinte na consola MySQL:

SET GLOBAL log_bin_trust_function_creators = 1;

Ou, adicione o seguinte ao ficheiro de configuração mysql.ini:

log_bin_trust_function_creators = 1

A definição relaxa a verificação de funções não determinísticas. As funções não determinísticas são funções que modificam dados (ou seja, têm instruções de atualização, inserção ou eliminação).
Para mais informações, consulte aqui. Para obter detalhes completos, consulte este artigo.

Se o seu fornecedor de alojamento não permitir as definições acima referidas, contacte-o diretamente ou considere a possibilidade de trabalhar com o programador que escreveu as funções e peça-lhe que as reavalie para funcionarem corretamente com os requisitos do motor da base de dados.

Solução 4

Durante uma instalação, se receber uma mensagem como a mostrada abaixo, é provável que tenha de eliminar um dos ficheiros tablename.ibd, que não foi corretamente eliminado durante o processo de remoção da tabela da base de dados.

Existe um espaço de tabela para a tabela xxx. Descarte o espaço de tabela antes de IMPORTAR


Para uma lista completa de todas as soluções possíveis para este problema, consulte este artigo do stack-overflow.

Falha na criação da base de dados

É recebida uma mensagem do tipo "Não foi possível criar base de dados..." quando se tenta utilizar a ação criar base de dados.

Solução

"Não foi possível criar base de dados..." significa normalmente que o seu alojamento não suporta a criação de bases de dados através de código PHP. Neste caso, terá de criar uma base de dados através das ferramentas que eles fornecem.

Na maioria dos alojamentos pode fazê-lo através do cpanel. Contacte o seu anfitrião para obter instruções sobre como criar uma nova base de dados. Os utilizadores do Duplicator Pro devem ser capazes de usar o separador de ligação ao cPanel para entrar nas suas contas cPanel e criar a base de dados através da interface do instalador do cPanel. Em alternativa, pode utilizar os modos Importar ou Substituir.

Veja também:
Fornecedores de alojamento recomendados para o Duplicator?
http://dev.mysql.com/downloads/mysql
https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade


Este artigo foi útil?


Artigos relacionados

Não deixes passar mais um dia sem proteção

Cada hora sem cópias de segurança adequadas do WordPress coloca o seu sítio em risco - Cada atraso na migração do WordPress custa-lhe desempenho e crescimento

Obter o Duplicator agora
Plugin Duplicador

Espere! Não perca a sua oferta exclusiva "
"!

Como cliente , você ganha 60% DE DESCONTO

Experimente o Duplicator gratuitamente no seu site — veja por que mais de 1,5 milhão de profissionais do WordPress confiam em nós. Mas não espere — este desconto exclusivo de 60% está disponível apenas por tempo limitado.

ou
Obtenha agora 60% de desconto no Duplicator Pro →