Resolver problemas
Drupal antigo: conflito com a tabela system no MySQL 8
Procedimento retirado. Não mude o nome da tabela
systemnem adicione um prefixo isolado em produção. O Drupal 6 e o Drupal 7 estão fora de suporte, e uma modificação parcial pode quebrar consultas do núcleo ou de módulos.
O MySQL 8 transformou SYSTEM em palavra reservada. Um erro 1064 genérico não demonstra que essa seja a causa: guarde a consulta completa e confirme que falha precisamente ao referir-se a system sem escape.
Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds
O Drupal 7.76 incorporou suporte para MySQL 8 e o escape de nomes reservados. A configuração $db_prefix mostrada no procedimento antigo correspondia ao Drupal 6; o Drupal 7 usa prefix dentro de $databases['default']['default']. Nenhuma dessas versões deve voltar a ser publicada como site definitivo.
Recuperação segura
- Isole a instalação e crie cópias verificadas dos ficheiros e da base de dados.
- Se for Drupal 7 anterior à 7.76, atualize apenas uma cópia isolada para a última versão do Drupal 7 para recuperar a compatibilidade de leitura com o MySQL 8.
- Se for Drupal 6, utilize no ambiente de recuperação uma base de dados compatível com essa versão; não o exponha à Internet.
- Migre os dados para uma versão mantida do Drupal e valide utilizadores, conteúdo, ficheiros, URLs e módulos antes de publicar.
Consulte o anúncio oficial de suporte de MySQL 8 no Drupal 7.76. Se uma consulta direta de um módulo continuar sem escapar a tabela, substitua ou corrija esse módulo no clone; não mude o nome de uma tabela central para esconder o sintoma.
Depois de recuperar a leitura
Verifique contagens, utilizadores, ficheiros e conteúdo antes de exportar para o destino. O facto de uma consulta voltar a funcionar não comprova a compatibilidade de todos os módulos com o MySQL 8 nem a segurança da versão antiga.
Mantenha os URLs com tráfego ou ligações e prepare as suas equivalências no site novo. Se houver consultas SQL personalizadas, faça um inventário das suas diferenças e substitua as que dependam de um comportamento antigo durante a migração.
Também lhe pode ser útil
- Erro SQLSTATE 2026 ao instalar ou atualizar o PrestaShop Diagnostique a ligação SSL com o MySQL que impede o Doctrine de consultar a versão do servidor, sem...
- Joomla 1.5 e 2.5, compatibilidade com MySQL 8 Resolva a incompatibilidade do Joomla sem suporte com o MySQL 8 através de isolamento, inventário e...
- Porque é que o cPanel e o phpMyAdmin mostram tamanhos diferentes para uma base de dados Esclarece porque é que o cPanel e o phpMyAdmin calculam tamanhos diferentes, como localizar as tabel...
- Tabelas corrompidas numa base de dados MySQL Confirme o erro e o motor de uma tabela antes de a reparar, conserve uma cópia e evite aplicar REPAI...
Algo não bate certo ou mudou? Diga-nos e revemos.