L'esempio di creazione e consultazione di un data base proposto nella pagina precedente ha seri limiti. Chiunque acceda al computer può manipolare o anche distruggere il database costruito in quel modo e comunque il database risiede solo sulla macchina in cui è stato costruito mentre un database importante deve risiedere in un server raggiungibile da molti utenti. Ovviamente solo gli amministratori del database potranno modificarlo, mentre gli utenti, in linea di massima, potranno solo consultarlo. Sono quindi necessarie delle chiavi di accesso, di norma costituite da password, ai cui possessori sono garantite tutte o solo alcune prerogative.
Nel seguito di questa esposizione si continuerà a lavorare sul server locale ma le procedure e i metodi proposti si possono trasferire facilmente su un server di rete.
Lavorando con MySQL in phpMyAdmin è necessario creare da subito un utente 'padrone' dell'applicazione, dotato di tutti i permessi necessari per svolgere tutte le operazioni di gestione dei database, cioè crearli, accedervi, modificarli o eliminarli. A questo scopo si usa la console di MySQL scrivendo in essa le opportune istruzioni.
Cliccando il pulsante mostra icone nascoste in basso a destra del monitor attivare con gli opportuni passaggi la console.
Appare il messaggio
Cliccare OK, aprendo così la console che richiede una password.
Dato che al momento non si possiedono password, premere Invio ottenendo nella console il seguente messaggio.
A questo punto si può definire un utente proprietario con tutti i diritti, scrivendo successivamente nella console le seguenti istruzioni, ognuna terminata da un 'punto e virgola' ; e premendo Invio al termine di ognuna. Queste istruzioni possono eventualmente essere adattate alle proprie preferenze, sostituendo master e owner con termini di propria scelta.
In seguito l'utente master, accedendo alla console, potrà definire altri utenti con analoghi diritti o con diritti ridotti su un particolare tabella di un database scrivendo nella console istruzioni simili alle seguenti:
Ad esempio, se la seconda istruzione è GRANT SELECT ON nome_database.nome_tabella TO 'xxxxx'@'localhost'; l'utente xxxxx potrà solo cercare records su una particolare tabella di un particolare database.
Ora si può lanciare phpMyAdmin. Cliccare il pulsante mostra icone nascoste in basso a destra del monitor e nel menù che si apre cliccare phpMyAdmin.
Si apre l'nterfaccia
Sulla base delle operazioni precedentemente effettuate nella console, inserire username (master) e password (owner) e scegliere MySQL tra le alternative proposte (MariaDB e MySQL). Cliccando Go si apre l'interfaccia MySQL.
Cliccando New è possibile creare un nuovo database di cui va scritto il nome, ad esempio, ripercorrendo la traccia delle pagina precedente, DBStati.
Cliccando Create, costruisce il database DBStati nel quale inserire la tabella stati contenente record costituiti da tre campi: conta di tipo numerico, stato e capitale di tipo alfanumerico (varchar) con al massimo 30 caratteri.
Cliccare Go e procedere alla descrizione dei campi dei records della tabella stati.
Il valore di conta non va inserito direttamente perché si autoincrementerà automaticamente all'immissione di ogni nuovo record. Conta risulterà essere un chiave primaria.
Cliccare save
e procedere al'immissione dei dati cliccando Insert.
Cliccare Go.
Continuare con Insert finché si hanno stati da inserire.
Se si vuole controllare il contenuto del database, cliccare nel riquadro sinistro dbstati.
Cliccare SQL e scrivere la query nel campo apposito
Cliccare Go.
Un'altra query. Cliccare SQL scrivere la nuova query.
Si ottiene
Se per l'eventuale utente xxxxx di cui si è precedentemente parlato si fosse stabilito
GRANT SELECT ON dbstati.stati TO 'xxxxx'@'localhost';
xxxxx potrebbe solo fare query con SELECT, ma non potrebbe apportare nessuna modifica al contenuto della tabella.
È possibile, in un modo più economico anche se un po' lugubre, svolgere le stesse operazioni direttamente dalla console di MySQL. Esempio: