Atualização do MySQL 5.5 para MySQL 5.7

29

Eu procurei um tutorial para manequins, sobre como atualizar meu servidor MySQL 5.5 para MySQL 5.7. Estou usando o ubuntu 14.04. Eu já tentei os tutoriais no site MySQL. Como posso atualizar meu servidor?

Cgnkev
fonte
A documentação do MySQL diz: "A atualização de mais de um nível de release é suportada, mas apenas se você atualizar um nível de release por vez. Por exemplo, atualize de 5.1 para 5.5 e, em seguida, para 5.6. Siga as instruções de atualização para cada release, sucessivamente. . " então você deve fazer atualização em duas etapas 5.5 -> 5.6 -> 5.7
iterq

Respostas:

74

Isso funcionou para mim:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
sudo gdebi mysql-apt-config_0.8.10-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server

O segundo comando solicitará entrada:

insira a descrição da imagem aqui

Depois de escolher 5.7, escolha "aplicar"


$ mysql --version
mysql  Ver 14.14 Distrib 5.7.8-rc, for Linux (x86_64) using  EditLine wrapper

Não esqueça de executar o mysql_upgrade após a instalação para atualizar as tabelas do sistema e reiniciar o servidor, seguindo o guia de atualização do MySQL .

$ mysql_upgrade

ou

$ sudo mysql_upgrade -u root -p

E reinicie o mysql

sudo service mysql restart
Rinzwind
fonte
1
Atualizei meu mysql usando esse método, mas ele corrigiu meu apache2, agora estou recebendo 500 em todos os meus sites hospedados. askubuntu.com/questions/795868/...
Rahul K Jha
1
Eu acho que a nova versão ligação deb é: dev.mysql.com/get/mysql-apt-config_0.8.0-1_all.deb
zx1986
4
Note que sudo mysql_upgrade -u root -pé necessário !!
Jadeye
2
O URL do parâmetro wget continuará sendo alterado à medida que novas versões forem lançadas. Acesse dev.mysql.com/downloads/repo/apt e verifique a parte inferior da página
Gerbus
1
como faço choose "apply"... eu pressione enter e leva-me mesmo passo novamente e againa
Umair
28

Você pode ver meu comentário de que a solução do @Rinzwind não funcionou no meu caso (Ubuntu 14.04, Mysql 5.5). Então, pesquisei a solução no Google e encontrei a resposta que funcionou para mim no Digital Ocean Tutorial .

Primeiro de tudo, faça backup de todo o seu banco de dados.

mysqldump --all-databases > all_databases.sql

Se o comando acima não funcionou, tente abaixo de um.

mysqldump -u root -p --all-databases > all_databases.sql

Estou colando a parte específica do tutorial que funcionou para mim.

Se você deseja instalar o MySQL 5.7, precisará adicionar o repositório de pacotes APT mais recente na página de repositório do MySQL APT. Clique em Download no canto inferior direito e copie o link na próxima página de Não, obrigado, basta iniciar o meu download. Faça o download do pacote .deb no seu servidor.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb

Em seguida, instale-o usando o dpkg.

sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb

Você verá um prompt perguntando qual produto MySQL você deseja configurar. A opção Servidor MySQL, destacada, deve dizer mysql-5.7. Caso contrário, pressione ENTER , role para baixo até mysql-5.7 usando as teclas de seta e pressione ENTER novamente.

Quando a opção indicar mysql-5.7, role para baixo no menu principal até Aplicar e pressione ENTER novamente. Agora, atualize o índice do seu pacote.

sudo apt-get update

Por fim, instale o pacote do servidor MySQL, que agora contém o MySQL 5.7.

sudo apt-get install mysql-server

Agora atualize todos os bancos de dados mysql.

sudo mysql_upgrade -u root -p

Agora reinicie o servidor mysql.

sudo service mysql restart

Sempre encontre a versão mais recente do arquivo mysql-at-config em https://dev.mysql.com/downloads/repo/apt/

Rahul K Jha
fonte
2
Estou recebendo o seguinte erro durante a instalação do mysql-server: W: erro GPG: repo.mysql.com fiel InRelease: As seguintes assinaturas eram inválidas: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823
Snigdha Batra
3
@ SnigdhaBatra, é um bug conhecido . Use o comando sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5para resolver seu problema.
Rahul K Jha
Tenho que o A4A9 chave ~ não pode ser recuperada, e nada acontece
Lucas Bustamante
Qual versão do Ubuntu você está usando?
Rahul K Jha
1
Fwiw, para fazer backup de todos os bancos de dados, eu também precisava especificar um usuário mysqldump(de acordo com esta resposta ). por exemplo:mysqldump -u root -p --all-databases > alldb.sql
Nick F
3

isso também pode acontecer ao atualizar de 14.04 para 16.04, o que causa uma atualização não suportada do mysql (5.5 -> 5.7), que não é um caminho de atualização suportado, conforme documentado pelo mysql . A maneira mais fácil de contornar isso é atualizar o mysql para a versão 5.6 enquanto ainda estiver na versão 14.04. Você consegue isso primeiro (é claro!) Despejando todos os seus bancos de dados;

nome do host # mysqldump --lock-all-tables -u root -p --all-database> backup.sql

depois atualizando para o mysql 5.6;

nome do host # apt-get install mysql-server-5.6 mysql-client-5.6 mysql-server-core-5.6 mysql-client-core-5.6

Dessa forma, todos os seus bancos de dados são atualizados no local e (em minhas máquinas até agora) de maneira totalmente segura e transparente para a 5.6. O único problema após a atualização pode ser as entradas TIMESTAMP. Agora, mesmo após uma atualização do-release-release para 16.04, o mysql ainda é deixado em 5.6 e os problemas que cercam a atualização não suportada de 5.5 diretamente para 5.5 durante a atualização de versão nunca aparecem.

Espero que isto ajude,

Kailee.

Kailee
fonte