Aggiornamento da MySQL 5.5 a MySQL 5.7


29

Ho cercato un tutorial per i manichini, su come aggiornare il mio server MySQL 5.5 a MySQL 5.7 che sto usando Ubuntu 14.04. Ho già provato i tutorial sul sito Web MySQL. Come posso aggiornare il mio server?


MySQL docs afferma: "È supportato l'aggiornamento di più di un livello di rilascio, ma solo se si aggiorna un livello di rilascio alla volta. Ad esempio, l'aggiornamento da 5.1 a 5.5 e quindi a 5.6. Seguire le istruzioni di aggiornamento per ciascuna versione, in successione ". quindi dovresti fare l'aggiornamento in due passaggi 5.5 -> 5.6 -> 5.7
iterq

Risposte:


74

Questo ha funzionato per me:

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

Il 2o comando chiederà input:

inserisci qui la descrizione dell'immagine

Dopo aver scelto 5.7 scegli "applica"


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

Non dimenticare di eseguire mysql_upgrade dopo l'installazione per aggiornare le tabelle di sistema e riavviare il server, seguendo la guida all'aggiornamento di MySQL .

$ mysql_upgrade

o

$ sudo mysql_upgrade -u root -p

E riavvia mysql

sudo service mysql restart

1
Ho aggiornato il mio mysql usando questo metodo ma ha rotto il mio apache2, ora sto ricevendo 500 su tutti i miei siti ospitati. askubuntu.com/questions/795868/…
Rahul K Jha

1
Penso che il nuovo link deb della versione sia: dev.mysql.com/get/mysql-apt-config_0.8.0-1_all.deb
zx1986

4
Si noti che sudo mysql_upgrade -u root -pè richiesto !!
Jadeye,

2
Il parametro wget url continuerà a cambiare quando vengono rilasciate nuove versioni. Vai qui dev.mysql.com/downloads/repo/apt e controlla il fondo della pagina
Gerbus,

1
come faccio choose "apply"... premo invio e mi fa di nuovo lo stesso passo e againa
Umair

28

Puoi vedere il mio commento che la soluzione di @Rinzwind non ha funzionato nel mio caso (Ubuntu 14.04, Mysql 5.5). Quindi ho cercato su Google la soluzione e ho trovato la risposta che ha funzionato per me al Digital Ocean Tutorial .

Prima di tutto, fai il backup di tutto il tuo database.

mysqldump --all-databases > all_databases.sql

Se il comando precedente non ha funzionato per te, prova qui sotto.

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

Sto incollando la parte particolare del tutorial che ha funzionato per me.

Se si desidera installare MySQL 5.7, è necessario aggiungere il repository di pacchetti APT più recente dalla pagina del repository APT di MySQL. Fai clic su Scarica in basso a destra, quindi copia il link nella pagina successiva da No grazie, inizia il mio download. Scarica il pacchetto .deb sul tuo server.

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

Quindi, installalo usando dpkg.

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

Vedrai un messaggio che ti chiede quale prodotto MySQL vuoi configurare. L'opzione MySQL Server, che è evidenziata, dovrebbe dire mysql-5.7. In caso contrario, premere INVIO , quindi scorrere verso il basso fino a mysql-5.7 utilizzando i tasti freccia e premere di nuovo INVIO .

Quando l'opzione dice mysql-5.7, scorrere verso il basso nel menu principale per applicare e premere di nuovo INVIO. Ora aggiorna l'indice del pacchetto.

sudo apt-get update

Infine, installa il pacchetto MySQL-server, che ora contiene MySQL 5.7.

sudo apt-get install mysql-server

Ora aggiorna tutti i database mysql.

sudo mysql_upgrade -u root -p

Ora riavvia il server mysql.

sudo service mysql restart

Trova sempre l'ultima versione del file mysql-at-config su https://dev.mysql.com/downloads/repo/apt/


2
Ricevo il seguente errore durante l'installazione di mysql-server: W: errore GPG: repo.mysql.com fidato InRelease: le seguenti firme non erano valide: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823
Snigdha Batra

3
@SnigdhaBatra, È un bug noto . Utilizzare il comando sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5per risolvere il problema.
Rahul K Jha,

Ho capito che la chiave A4A9 ~ non può essere recuperata, quindi non succede nulla
Lucas Bustamante,

Quale versione di Ubuntu stai usando?
Rahul K Jha,

1
In seguito, per eseguire il backup di tutti i database ho anche dovuto specificare un utente mysqldump(come da questa risposta ). ad esempio:mysqldump -u root -p --all-databases > alldb.sql
Nick F

3

questo può accadere anche durante l'aggiornamento da 14.04 a 16.04, che provoca un aggiornamento mysql non supportato (5.5 -> 5.7), che non è un percorso di aggiornamento supportato come documentato da mysql . Il modo più semplice per aggirare questo è aggiornare mysql a 5.6 mentre è ancora sotto 14.04. Questo si ottiene prima scaricando (ovviamente!) Tutti i database;

nomehost # mysqldump --lock-all-tables -u root -p - tutti i database> backup.sql

quindi l'aggiornamento a mysql 5.6;

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

In questo modo, tutti i tuoi database vengono aggiornati sul posto e (sulle mie macchine finora) interamente in modo sicuro e trasparente a 5.6. L'unico problema dopo l'aggiornamento potrebbe essere le voci TIMESTAMP. Ora, anche dopo un aggiornamento do-release a 16.04, mysql rimane ancora su 5.6 e i problemi che circondano l'aggiornamento non supportato direttamente dalla 5.5 alla 5.7 durante l'aggiornamento della versione non emergono mai.

Spero che sia di aiuto,

Kailee.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.