Per abilitare l’accesso remoto al vostro database MySql non dovete solo dare i diritti ad un utente (e.g remoteuser) ad un certo indirizzo (xxx.xxx.xxx.xxx)
grant all privileges on *.* to remoteuser@xxx.xxx.xxx.xxx
Dovete anche commentare la seguente riga di codice nel file .my.cnf e riavviare il servizio mysql.
NOTA: oh, mi raccomando provate tutto in un ambiente di Test… non devo dirvelo vero?
A questo punto reinstalliamo mysql
sudo apt-get install mysql*
e avremo una bella installazione pulita di mysql. Mettiamo come password di root ‘password’.
Quindi proviamo ad enstrare nella nostra nuova istanza di mysql
mysql -u root -p
La password è ovviamente ‘password’.
Ok, usciamo.
Ora lanciamo il nostro ripristino dal fulldump
mysql -u root -p < fulldump.sql
Ma attenzione! 🙂
Se cerchiamo di entrare in mysql con gli utenti del fulldump non ci riusciamo… calma, è perchè non abbiamo messo l’opzione –-flush-privileges nel comando di mysqldump.
Rientriamo con l’utente root/password e lanciamo un flush privileges
Per prima cosa è bene creare un account predisposto al solo backup in modo da poterlo inserire nel file .my.cnf
GRANT USAGE ON *.* TO backup@localhost IDENTIFIED BY 'UnaB3LlaPasswordSicura';
GRANT SELECT,LOCK TABLES ON *.* to backup@localhost;
FLUSH PRIVILEGES;
Questo account avrà quindi solo i diritti di lettura su tutti gli oggetti di MySql.
A questo punto creiamo anche il file .my.cnf che andrà inserito all’interno della stessa cartella in cui viene eseguito lo script di backup contenente il comando mysqldump.