Aggiorniamo MySQL direttamente dai repository Ubuntu 14.04 da MySQL 5.5 a MySQL 5.6

Oltre che MySQL 5.5, nei repository universe di Ubuntu, è presente anche MySQL 5.6 che porta con se parecchie novità. Una tra tutte è sicuramente il miglioramento a livello prestazionale (circa 20% in più).

L’installazione ex novo su un server dove ancora non è presente MySQL è molto semplice, infatti basta installare MySQL 5.6 col seguente comando

apt-get install --assume-yes mysql-server-5.6 mysql-client-5.6

Ma vediamo invece come procedere per passare da MySQL 5.5 a MySQL 5.6 su un server dove MySQL è già presente.

Prima di tutto effettuiamo un bel dump di tutti i nostri database, prima di effettuare l’upgrade

mysqldump -uroot -p --lock-all-tables --all-databases --events --ignore-table=mysql.event > dump.sql

ci verrà chiesta la password di root di MySQL. Inseriamola ed attendiamo!

Se abbiamo apparmor, eseguiamo questi 2 comandi aggiuntivi, altrimenti saltiamoli

ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable
invoke-rc.d apparmor restart

Ora non ci resta che disinstallare MySQL 5.5 e procedere con l’installazione di MySQL 5.6

apt-get purge --assume-yes mysql-server mysql-server-5.5 mysql-server-core-5.5 mysql-client mysql-client-5.5 mysql-client-core-5.5
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get install --assume-yes mysql-server-5.6 mysql-client-5.6

L’aggiornamento dovrebbe procedere senza intoppi. Nel caso invece dovesse esserci qualche problema, possiamo ritornare alla versione 5.5 e reimportare il nostro dump.

Effettuando il login con PhpMyAdmin dovremmo vedere qualcosa tipo

  • Versione del server: 5.6.28-0ubuntu0.14.04.1 – (Ubuntu)

e qualche linea più avanti

  • Versione del client del database: libmysql – 5.5.47

Questa differenza di versioni dovrebbe generare il messaggio

Le tue librerie di PHP per MySQL versione 5.5.47 sono diverse dalla versione di MySQL server 5.6.28. Potrebbe causare comportamenti imprevedibili.

che possiamo tranquillamente ignorare. Godiamoci ora MySQL 5.6!