Innanzitutto mi scuso per il “ritardo”. Ma come si sarà capito ho ricominciato con l’università e dati gli orari assurdi che mi ritrovo quest’anno (grazie nuovo ordinamento -.-) ho a disposizione due ore al pomeriggio di libertà e mi è risultato complicato continuare gli obbiettivi che mi ero prefisso.
Fatto sta che, di positivo, aumento le mie conoscenze e quindi, nel lungo periodo, vedrò di condividerle qui sopra! XD
Uno dei problemi con cui mi sono “interfacciato” ultimamente era quello di installare MySQL sulla mia fiammante Debian testing in modo che facesse meno casino possibile.
Innanzitutto MySQL è un DBMS (DataBase Management System), ovvero un server per la gestione di basi di dati, completamente Open-Source e quindi perfettamente scaricabile.
Per istallarlo volevo evitare di portarmi dietro tutto LAMP (Linux-Apache-MySQL-PHP) in quanto non era nei miei obbiettivi aprire un server domestico 😀 e quindi mi sono limitato a MySQL.
il primo passo è ovviamente aquisire i diritti di amministratore e da terminale:
apt-get instal mysql-server
Questo comando si porterà dietro tutte le dipendenze possibili e immaginabili e installerà ovviamente anche mysql-client. Dopo 141Mb di download finalmente il terminale ci ritorna il controllo.
Ora dobbiamo proseguire. La prima cosa da fare in questo momento è impostare la password di root per il nostro serverino.
mysqladmin -u root password quellochecipare
Ovviamente al posto di quellochecipare possiamo mettere quello che ci pare! xD Basta che ce lo ricordiamo in quanto è la password più potente del DBMS.
Ora dobbiamo creare un utente meno pericoloso. Accediamo a mysql come root con il comando:
mysql -u root -p
Inseriamo la password di prima (non ve la sarete già scordata eh? ) e ci troveremo dentro questo bellissimo mondo fatto di relazioni, tabelle e query.
Creiamo un database nuovo da devastare a nostro piacimento:
CREATE DATABASE DB_Test;
In questo esempio ho creato un database di nome DB_Test giusto per devastarlo a suon di query. Per vedere se il database nuovo c’è davvero digitate:
SHOW DATABASES;
E vi compariranno tutti i db accessibili fra cui, spero, DB_Test.
Ora dobbiamo creare un nuovo utente in grado di utilizzare la nostra fantastica creazione. Digitiamo:
GRANT ALL PRIVILEGES ON DB_Test.* TO ‘UtenteNiubbo’@‘localhost’ IDENTIFIED BY ‘PasswrdCheVolete‘;
Ora… la sintassi di questo comando è veramente carina e permette di scegliere esattamente a quale database, o addirittura, a quale tabella il vostro utente può accedere per fare cosa.
Con ALL PRIVILEGES diciamo che il nuovo utente può fare tutto. Con ON DB_Test.* diciamo che il nuovo utente può accedere a tutte le tabelle nel database DB_Test.
Poi se ho tempo vi faccio un articolo con tutte le varianti! 🙂
Bene, ora usciamo:
quit
e rientriamo con il nuovo utente:
mysql -u UtenteNiubbo -p
Ora possiamo divertirci a piacimento! Digitiamo
USE DB_Test;
Per accedere al database precedentemente creato e iniziare a fare le nostre porcate.
Un comando molto utile è il comando SOURCE NomeFile che ci permette di scrivere le query e le operazioni su un file e poi fargliele leggere tutte insieme in modo da evitare di dover riscrivere tutto ogni volta che si commette un errore di sintassi!