mysql server

Server MySQL. E` importante segnarsi la password di amministrazione
che viene chiesta da debconf durante l'installazione dei packages.

FIXME: ho provato a impostare datadir a /w/work/mysql e non mi
lascia creare i db, apparmor?!? RISPOSTA: si, ho aggiornato
il modulo basic-utils per rimuovere apparmor da tutti i sistemi.

FIXME: tra i package recomended c'e` mailx, che pero` si tira
dietro exim se non e` gia` installato postfix; ora, dovremmo
installare postfix per default su tutte le macchine, perche`
altrimenti non hanno modo di inviare una email, ma questo va
pensato e gestito in modo opportuno

== PHPMYADMIN ==

Usa network.domain per abilitare l'accesso a phpmyadmin dagli host
del dominio.

FIXME: phpmyadmin per ora e` disabilitato, in quanto deve essere
installato su una macchina con apache, che non e` detto che sia
la stessa. Occorre prendere una decisione in questo senso:

 1. modulo separato da abilitare per server.web

oppure

 2. si installa apache anche sulle macchine che hanno tools
   di gestione web (phpmyadmin, phppgadmin, phpldapadmin, ecc)

Inoltre (wishlist):

 - potenziare tools per gestire dipendenze da altri moduli

== impostare root password ==

 * se la password non e` mai stata creata prima, usare questo comando:
 {{{
 mysqladmin -u root password NEWPASSWORD
 }}}

 * se la password e` gia` presente e la si vuole modificare:
 {{{
 mysqladmin -u root -p'OLDPASSWORD' password NEWPASSWORD
 }}}

== recuperare root password ==

 * controllare come e` stato lanciato il daemon mysql
 {{{
ps axuwwww | grep mysql
 }}}

 * fermare il daemon mysql
 {{{
invoke-rc.d mysql stop
 }}}

 * rilanciarlo manualmente aggiungendo l'opzione ''--skip-grant-tables'',
 ed omettendo l'opzione per il pidfile, ad esempio:
 {{{
/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --skip-external-locking --skip-grant-tables &
 }}}

 * collegarsi al server con il client da riga comando
 {{{
mysql -u root
 }}}

 * da qui, impostare la nuova password, ed uscire
 {{{
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
 }}}

 * fermare il daemon mysql e farlo ripartire come servizio normale
 {{{
pkill mysqld
invoke-rc.d mysql start
 }}}
