14.04 a 16.04 * KILLED * mysql

1

Definição: confiança - Algo que os empacotadores do Ubuntu LTS perderam de mim.

Eu mantive escrupulosamente minha máquina servidor web 14.04 LTS. Ele só tinha quatro funções primárias (ssh, ftp, http e mysql (para uso em páginas da web)). Antes de iniciar minha atualização de release de 14.04 para 16.04, certifiquei-me de que ambos

 sudo apt-get update
 sudo apt-get upgrade
 sudo apt-get dist-upgrade

para ter certeza absoluta de que eu tinha os últimos 14.04 pacotes antes de tentar atualizar o lançamento. Uma vez feito isso, o sistema foi reinicializado (e rodou os comandos acima novamente, para ter certeza de que eles não viram nada de novo), só para ser seguro, eu rodei 'sudo do-release-upgrade -d' para ir 14,04 a 16,04.

Tudo o que fizemos nos dois sistemas anteriores foi melhorado da mesma forma, mas a atualização do servidor web ficou travada durante a parte do mysql e parece ter destruído qualquer habilidade que eu precise executar o mysql no sistema. Período.

Pelo que eu li, as pessoas são altamente recomendadas para atualizar o mysql 5.5- > 5.6- > 5.7, porque saltar diretamente de 5.5 para 5.7 pode causar alguns problemas de compatibilidade de tabelas. Infelizmente, meu servidor da Web (totalmente atualizado, lembre-se) ainda estava executando o mysql-5.5.

Eu tenho cópias do / var / lib / mysql que eu capturei enquanto o do-release-upgrade estava travado, mas o mysql-5.7 e o mysql-5.6 se recusam a usá-los. Parece ser impossível instalar o mysql-5.5 no Ubuntu 16.04 para percorrer manualmente os lançamentos. Eu tentei pegar os pacotes do site mysql, mas eu só consigo encontrar o mysql-server lá, não -client, -common ou qualquer outra coisa.

Assim, a atualização 14.04 a 16.04 parece ter destruído meu banco de dados. Sim, eu sei, não ter um backup atual é minha culpa, mas depois de dois upgrades impecáveis, e dentro de um prazo (que evaporou, já que o banco de dados parece ter ido embora para sempre) eu estava muito confortável - eu tinha confiança nas pessoas que construíram a atualização. Sei que devo checar antecipadamente qualquer coisa que possa quebrar, mas, sinceramente, achei que era o trabalho do empacotador. Dizer que o cliente deve verificar tudo é como dizer que um carro compra deve ter o carro desmontado e cada peça verificada por falhas antes da compra - isso não vai acontecer.

Se houver alguma maneira de retornar ao mysql 5.5 no Ubuntu 16.04 para que eu possa executar o procedimento de atualização CORRETO / RECOMENDADO (pelo mysql), por favor me avise. Se não, alguém sabe de um bom grupo de terapia de grito primal na Flórida Central?

UPDATE: Consegui manter o banco de dados em bom estado de funcionamento novamente, construindo um servidor virtual 14.04 e reparando / reconstruindo os arquivos de banco de dados nele. Eu atualizei com sucesso o mysql do 14.04 virtual de 5.5 para 5.6. Em seguida, preciso aprender o que devo fazer para garantir que a atualização de 5.6 para 5.7 funcione.

UPDATE 2: Apesar das broncas, eu consegui que meu banco de dados consertado funcione no mysql 5.6 no sistema atualizado . Agora estou recebendo erros porque o suporte a PHP para o mysql não está instalado. Eles podem ser passos de bebê, mas é progresso!

Atualização 3: SUCESSO! Eu reinstalei todos os pacotes php7 / mysql e me certifiquei que meu aplicativo web estava usando o tipo de banco de dados mysqli e, voila! Eu acho que vou ficar no mysql 5.6 por um tempo, no entanto. Até que eu esteja um pouco mais confortável com o caminho de atualização para o 5.7.x. Espero que isso possa fornecer uma história de advertência para outras pessoas como eu - mas se elas forem muito parecidas comigo, elas não verão isso até que seja tarde demais.

    
por Steve Valliere 03.05.2016 / 16:42

1 resposta

4

Isso acontece porque a atualização de 14.04 para 16.04 causa uma atualização do mysql não suportada (5.5 - > 5.7), que não é um caminho de atualização suportado conforme documentado por mysql . A maneira mais fácil de fazer isso é atualizar o mysql para 5.6 enquanto ainda está abaixo de 14.04 . Você consegue isso primeiro (é claro!) Descarregando todos os seus bancos de dados;

mysqldump --lock-all-tables -u root -p --all-databases > backup.sql

então atualizando para o mysql 5.6;

apt-get install mysql-server-5.6 mysql-client-5.6 mysql-server-core-5.6 mysql-client-core-5.6

Desta forma, todas as suas bases de dados são atualizadas no lugar e (em minhas máquinas até agora) com total segurança e transparência para 5.6. O único problema após a atualização pode ser entradas TIMESTAMP. Agora, após a atualização do-do-release, o mysql ainda é deixado em 5.6 e os problemas que envolvem a atualização não suportada do 5.5 diretamente para o 5.7 durante a atualização do release nunca aparecem.

    
por Kailee 07.07.2017 / 02:10