Reiniciar 4.2 utf8mb4 databse upgrade

11

Eu atualizei o WP para o 4.2 enquanto ele estava em um servidor antigo, que não corresponde ao utf8mb4 requisitos de atualização .

Mudei para outro servidor que atende a esses requisitos, mas o WP não inicia mais esta atualização do banco de dados: /wp-admin/upgrade.php diz Your WordPress database is already up-to-date . Eu tentei definir minha tabela wp_post para utf8mb4 manualmente, mas todos os meus caracteres especiais se tornaram " ".

Qualquer forma de forçar o lançamento do maybe_convert_table_to_utf8mb4 em uma atualização simples, sem perder todos os meus caracteres especiais?

Obrigado!

    
por Joan 20.07.2015 / 17:24

3 respostas

3

Acho que a resposta para sua pergunta agora é "Não".

Não há uma maneira fácil de acionar maybe_convert_table_to_utf8mb4 nos sites depois que eles já foram atualizados além do WP 4.3 em um servidor que não atende aos requisitos definidos neste post:

enlace

Note que, com base no código fonte do WP, parece que eles mudaram isso da sequência de atualização do 4.2 para 4.3 (ele não está mais presente no 4.2, que agora não tem atualizações), talvez esperando obter mais usuários a bordo.

Então essa é a sua resposta e é uma droga, mas é mais precisa do que as outras ¯_ (ツ) _ / ¯

Atualmente, estamos trabalhando para criar um script simples que permita acionar a essência da sequência de atualização com base em um gancho de ação. Se conseguirmos torná-lo estável e funcionando, tentaremos voltar e compartilhá-lo aqui para os outros usarem.

Nosso plano básico é extrair a parte real do banco de dados de upgrade_430() , isolá-lo do sistema de atualização do banco de dados e acioná-lo manualmente.

EDIT: SOLUÇÃO ABAIXO

Embora não haja uma maneira fácil de acionar o script, aqui está uma solução alternativa codificada manualmente, com base em upgrade_430() , mas desenvolvida como um drop-in.

enlace

Você poderia colocar isso em um plugin, ou apenas colá-lo em seu functions.php. De qualquer forma, deve ser temporário.

Está configurado para ser acionado automaticamente quando você visitar https://yoursite.com/?update-utf8bm4=1

Isso garante que ele seja executado apenas uma única vez e você pode escolher quando (para bancos de dados grandes isso pode levar algum tempo e você não quer que ninguém edite uma postagem enquanto ela estiver acontecendo).

Se você não quiser o gatilho GET, basta remover a parte add_action e a parte if (!isset($_GET['update-utf8bm4'])) .

Novamente: REMOVA ISTO QUANDO COMPLETO, você não quer deixar um gatilho GET como este por aí:)

    
por jerclarke 03.11.2016 / 20:15
2

Claro que, se não for preciso, faça um backup do banco de dados antes de tentar qualquer coisa, mas você trabalharia com a versão original do banco de dados - tentaria duas coisas: reparo e manutenção do banco de dados WordPress e otimização do phpMyAdmin tabelas:

Isso veio desta página, que tem muitas informações WP Knowledgebase , mas comece adicionando esta linha ao wp-config.php do seu site:

define('WP_ALLOW_REPAIR', true);

depois vá para enlace

Você deve ver uma página com duas opções: 'Repair Database' e 'Repair and Optimize Database.'

Clique em 'Reparar e otimizar banco de dados' e forneça o tempo de script para execução. Depois de executar com sucesso, você receberá mensagens de atualização informando o status de várias tabelas.

Assim que for executado, muito importante , remova a linha wp_allow_repair que você acabou de adicionar ao wp-config.php, apague-a do arquivo wp-config.php.

Se isso não funcionar, você pode tentar a otimização de tabelas do phpMyAdmin, mas se o WordPress não ajudar, talvez não. Eu tentaria na mesma versão do banco de dados em que você executou o último reparo.

Entre no phpMyAdmin, selecione seu banco de dados, role até o final da página, marque 'Check All' para selecionar todas as tabelas no banco de dados e, em seguida, selecione "Optimize Table" no menu de seleção ao lado. É isso aí, vai começar automaticamente.

Veja mais detalhes e capturas de tela: WPMUDev

Se essas duas etapas não funcionarem - sozinhas ou juntas - você pode tentar usar outra cópia do banco de dados de backup para executá-las na ordem inversa ... Boa sorte!

    
por Vanessa King 25.09.2015 / 02:29
0

Você já tentou alterar a tabela Collation do banco de dados? Por favor, tente isto:

Faça login no phpmyadmin > selecione seu banco de dados > Operações > Agora mude o agrupamento de drop-down para "utf8mb4_unicode_ci" ou mude para o que foi usado no seu servidor antigo.

Espero que funcione para você.

veja a captura de tela: enlace

Lembre-se: Se você exportar o arquivo sql do seu antigo servidor para o seu pc e abri-lo com qualquer editor de texto ... e personalizar e salvar ... então verifique quando você salvar o arquivo sql Editor de Texto "Codificação" é Utf-8 .. veja minha captura de tela: enlace

Obrigado

    
por NoDiv_NoClass 21.09.2015 / 06:31

Tags