Accedere al database con (ed inserire la password):
mysql -u root -p
Vedere la tabella degli utenti con:
SELECT User, Host FROM mysql.user;
Per avere la descrizione delle colonne bisogna dare:
desc mysql.user;
Per creare un nuovo utente
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
username e password da scegliere
Per creare un nuovo database
CREATE DATABASE dbname;
dbname: da scegliere
A questo punto diamo i privilegi al database
GRANT permessi ON nomedatabase.nometabella TO username@localhost;
username: da scegliere
localhost: da indicare anche % o l'host di appartenenza oppure proprio localhost
nomedatabase: se sostituito da * indica tutti i database
nometabella: se sostituito da * indica tutte le tabelle del database
permessi (di solito è usato ALL PRIVILEGES):
- ALL PRIVILEGES: consente l'accesso completo al database (o come indicato nel comando precedente, all’intero MySQL Server);
- CREATE: consente all’utente di creare nuovi database e tabelle;
- DROP: consente all’utente di cancellare database e tabelle;
- DELETE: consente all’utente di cancellare record dalle tabelle;
- INSERT: consente all’utente di inserire record nelle tabelle;
- SELECT: consente all’utente di interrogare i database per leggerne il contenuto;
- UPDATE: consente all’utente di modificare i record presenti nelle tabelle;
- GRANT OPTION: consente all’utente di aggiungere o rimuovere privilegi ad altri utenti.
- EVENT: consente all'utente di gestire eventi programmati ogni tot secondi
- CREATE TEMPORARY TABLES: consente all'utente di creare e gestire tabelle temporanee
e dare:
FLUSH PRIVILEGES;
per aggiornare i privilegi
per vedere l'elenco dei privilegi:
SHOW GRANTS FOR username;
username: da scegliere
per revocare i privilegi:
REVOKE permessi ON nomedatabase.nometabella FROM username@localhost;
per cambiare password
UPDATE mysql.user SET password=PASSWORD('NuovaPass') WHERE user='NomeUtente';
NuovaPass = scegli la nuova password
NomeUtente = scegli il nome utente che vuoi modificare la password