installare mysql 5.6 su debian 6 (squeeze)

Se si ha l’esigenza di sfruttare le più recenti features introdotte in MySQL 5.6 (come la ricerca FULLTEXT quando si utilizza il motore INNODB) che, ad oggi, non è stato ancora rilasciato ufficialmente per Debian (neanche nelle repo ‘testing’ o ‘unstable’) è possibile installarlo attraverso questi semplici step:

  1. se sul sistema c’è installato mysql server 5.1, rimuovere il pacchetto:
    # apt-get remove mysql-server-5.1
    (verranno rimossi in automatico anche mysql-server, mysql-client-5.1 e mysql-server-core-5.1)
  2. aggiungere la repo ‘testing’:
    # echo "deb http://debian.fastweb.it/debian/ testing main contrib non-free" >> /etc/apt/sources.list
  3. installare mysql server 5.5
    # apt-get install mysql-server-5.5
    (verranno installati in automatico anche mysql-client-5.5 mysql-server-core-5.5)
  4. disinstallare mysql 5.5 (i database precedentemente creati rimarranno comunque in /var/lib/mysql) tramite:
    # apt-get remove mysql-server-5.5
  5. scaricare il pacchetto .deb di mysql 5.6 da http://dev.mysql.com/downloads/mysql/ scegliendo la versione adatta al proprio sistema (32 o 64 bit)
  6. installare il file scaricato:
    # dpkg -i ./mysql-5.6.9-rc-debian6.0-x86_64.deb
    (in realtà questo step non esegue un’installazione vera e propria ma crea una cartella in /opt/mysql/server-5.6 contenente tutto il necessario per eseguire il server mysql)
  7. installare la libreria lib-aio tramite:
    # apt-get install libaio-dev
    (verrà installato in automatico anche libaio1)
  8. # cd /opt/mysql/server-5.6/
  9. # chown -R mysql: .
  10. # scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
  11. nel file /etc/mysql/my.cnf modificare le righe:
    lc-messages-dir = /usr/share/mysql
    in
    lc-messages-dir = /opt/mysql/server-5.6/share
    e
    basedir = /usr
    in
    basedir = /opt/mysql/server-5.6
  12. # cp support-files/mysql.server /etc/init.d/mysql
  13. # update-rc.d mysql defaults
  14. # PATH=$PATH:/opt/mysql/server-5.6/bin
  15. modificare il file /etc/profile per aggiungere ‘/opt/mysql/server-5.6/bin’ alla variabile d’ambiente PATH
  16. # /etc/init.d/mysql start

Nota: i primi step, apparentemente ‘strani’ perchè indicano di installare e poi rimuovere le versioni 5.1 e 5.5 di mysql, in realtà sono utili per un upgrade progressivo dei database (soprattutto se si usa il motore INNODB) eventualmente già presenti dalla versione 5.1 in poi e, nel caso mysql non sia stato mai installato, consentono di riutilizzare per la versione 5.6 i files e le cartelle creati dai pacchetti delle versioni precedenti di mysql