Come posso installare in modo sicuro
Sarà sempre difficile.
Leggere la pagina di compatibilità 5.5 / 5.6 prima di fare qualsiasi cosa. Mente 1 grande differenza tra i 2:
A partire da MySQL 5.6.6, diversi parametri di MySQL Server hanno impostazioni predefinite che differiscono dalle versioni precedenti. La motivazione di queste modifiche è fornire prestazioni out-of-box migliori e ridurre la necessità per l'amministratore del database di modificare manualmente le impostazioni. Queste modifiche sono soggette a possibili revisioni nelle versioni future man mano che otteniamo feedback.
1 delle grandi modifiche è che 5.5 utilizza 1 file di grandi dimensioni come registro delle transazioni e 5.6 ne utilizza diversi:
Pertanto, se stai aggiornando un'installazione MySQL esistente, non hai già modificato i valori di questi parametri rispetto ai loro valori predefiniti precedenti e la compatibilità con le versioni precedenti è un problema, potresti voler impostare esplicitamente questi parametri sui loro valori predefiniti precedenti. Ad esempio, inserisci queste righe nel file delle opzioni del server:
[mysqld]
innodb_file_per_table=0
innodb_checksum_algorithm=INNODB
binlog_checksum=NONE
Se si utilizza la replica, prestare attenzione a questa parte del collegamento:
Per aggiornare i server utilizzati per la replica, aggiornare prima gli slave, quindi il master. La replica tra il master e i suoi slave dovrebbe funzionare a condizione che tutti utilizzino lo stesso valore di esplic_defaults_for_timestamp:
Abbattere gli slave, aggiornarli, configurarli con il valore desiderato di esplic_defaults_for_timestamp e ripristinarli.
Gli slave riconosceranno dal formato dei registri binari ricevuti dal master che il master è più vecchio (precede l'introduzione di esplicit_defaults_for_timestamp) e che le operazioni sulle colonne TIMESTAMP provenienti dal master utilizzano il vecchio comportamento TIMESTAMP.
Abbattere il master, aggiornarlo e configurarlo con lo stesso valore esplicito_defaults_for_timestamp utilizzato sugli slave e ripristinarlo.
Se questo è un server di produzione, consiglierei di provare prima su una macchina di prova. Abbiamo avuto una transizione piuttosto difficile dalla 5.5 alla 5.6 e abbiamo optato per l'installazione di un'altra macchina che è stata installata con 5.6 e utilizzare mysldump per creare backup e caricarli nei nostri database su quella macchina. Tieni presente che ciò richiederà molto tempo se hai un database di grandi dimensioni (a causa della ricreazione dei file delle transazioni innodb).
Un metodo generale:
- usa mysqldump per creare backup del tuo database (utenti, struttura trattabile e dati della tabella) e del tuo file di configurazione (probabilmente /etc/mysql/my.cnf)
- Rimuovi 5.5. Dopo aver rimosso 5.5, verificare che i file delle transazioni innodb siano spariti (ibdata1, ib_logfile0 e ib_logfile1). Poiché 5.6 utilizza la versione migliore delle transazioni, suppongo che anche tu dovresti usare questo ...
- Installa 5.6
- Modificare il nuovo file di configurazione e aggiungere ciò che è stato modificato per 5.5 (tenere presente il collegamento sopra e verificare se una qualsiasi delle modifiche è diventata non valida).
- Carica il tuo backup in 5.6 (prima gli utenti). Tieni presente che ciò può richiedere un po 'di tempo poiché ricrea i nuovi file di transazione.
Nei comandi (dopo aver effettuato il backup):
sudo apt-get remove mysql-server
sudo apt-get autoremove
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6
sudo apt-get remove mysql-server;sudo apt-get autoremove;sudo apt-get install mysql-client-5.6 mysql-client-core-5.6;sudo apt-get install mysql-server-5.6