Istruzione di Utente e Sicurezza

Utente accesso e privilegi può essere globale (cioè, si applicano a tutti i database sul server), può essere specifiche del database, tavolo specifico, o di una colonna specifica. Nella versione 5 di MySQL, gli utenti possono anche essere limitato a particolari funzioni e procedure. Inoltre alla sicurezza relative istruzioni SQL, gli utenti possono essere limitati nel loro uso delle risorse MySQL per prevenire il consumo troppo e il rifiuto indiretta del servizio ad altri utenti. Così, è possibile limitare il numero di connessioni o il massimo di risorse all'ora per un utente.

L'informazioni primaria di per riguarda l'accesso degli utenti e dei privilegi è memorizzato in una serie di tabelle MyISAM, noto come le tabelle di grant, che risiedono nel mysql database sul server. I tavoli sono:

  • user: privilegi globale;
  • db: specifiche del database privilegi
  • tables_priv: tavolo specifici privilegi
  • columns_priv: colonna specifici privilegi

Tavoli molti altri forniscono regolazione fine per l'accesso utente e la sicurezza. Eseguire SHOW TABLES FROM MySQL; per ottenere un elenco sul server. È possibile manipolare i dati di queste tabelle direttamente con le istruzioni standard SQL, come ad esempio INSERT, UPDATE, e DELETE, seguito dai FLUSH PRIVILEGES istruzione per aggiornare la cache del server. Tuttavia, è consigliabile utilizzare specializzati istruzioni SQL per gestire gli utenti e assegnare diritti di accesso.

AES_DECRYPT( )

Questa funzione MySQL decifra testo che è stato crittografato utilizzando l'algoritmo AES algoritmo con 128-bit di lunghezza della chiave, invertendo la <tt>AES_ENCRYPT( )</tt>.

AES_ENCRYPT( )

Questa funzione MySQL crittografa una data stringa utilizzando l'algoritmo AES algoritmo con 128-bit di lunghezza della chiave. Questo blocca la stringa crittografata con la password data come secondo argomento.

CREATE USER

Questa istruzione MySQL è molto semplice: è usato per creare un utente, ma non permette privilegi da concedere con esso. Per questo, si può usare il <tt>GRANT</tt> istruzione.

CURRENT_USER( )

Questa funzione MySQL restituisce il nome utente e l'host che sono stati dati da parte dell'utente per la connessione corrente MySQL. Non può sempre restituire i risultati stessi <tt>USER( )</tt>.

DECODE( )

Questa funzione MySQL decifra una stringa dato che è stato crittografato con una password fornita. Vedere anche la funzione <a href='/documentation/user-security/encode'><tt>ENCODE( )</tt></a>.

DES_DECRYPT( )

Questa funzione MySQL decifra testo che è stato crittografato utilizzando l'algoritmo triplo DES con 128 bit di lunghezza chiave, invertendo la funzione <a href='/documentation/user-security/desencrypt'>DES_ENCRYPT()</a>.

DES_ENCRYPT( )

Questa funzione MySQL restituisce testo cifrato con l'algoritmo triplo DES algoritmo con 128 bit di lunghezza chiave.
Se un utente non ha privilegi a tutti—significato, dopo aver revocare tutti i privilegi di un utente con il <tt>REVOKE</tt> di istruzione—è possibile utilizzare questa istruzione per rimuovere l'utente che dal MySQL completamente.

ENCODE( )

Questa funzione MySQL cripta una stringa di dato in formato binario e blocca con la password. Si consiglia di non utilizzare questa funzione per la colonna password nella tabella <tt>user</tt> del database <tt>mysql</tt>. Utilizzare <tt><a href='/documentation/user-security/password'>PASSWORD( )</a></tt> invece.

ENCRYPT( )

Questa funzione MySQL restituisce testo cifrato utilizzando il linguaggio C funzione di cripta.

GRANT

Questo è probabilmente l'istruzione più utilizzato SQL per la creazione di utenti e garantire loro privilegi in MySQL. Anche se è spesso utilizzato per la creazione di utenti, la sua funzione principale è quella di impostare i privilegi di un utente per un sistema di database, database specifici, o tabelle specifiche.

MD5( )

Questa funzione MySQL utilizza un MD5 checksum a 128 bit per restituire un valore di 32 caratteri hash della stringa dallo standard RFC 1321.

OLD_PASSWORD( )

Questa funzione MySQL crittografa una data stringa basata sul metodo di crittografia password utilizzata prima della versione 4.1 di MySQL. Il risultato non può essere decifrato.

PASSWORD( )

Questa funzione MySQL crittografa una password dato per un argomento. Il risultato non può essere decifrato. Questa funzione MySQL viene utilizzato per la crittografia dei dati nella colonna password della tabella <tt>user</tt> del database <tt>mysql</tt>.

RENAME USER

Se un amministratore di MySQL vuole semplicemente cambiare il nome utente o l'host di un conto utente di MySQL, ma non i privilegi di un account utente, un amministratore può utilizzare questa istruzione MySQL per farlo facilmente.

RESET

Utilizzare questa istruzione MySQL per reimpostare alcune impostazioni del server e file di log.

RESET

Utilizzare questa istruzione MySQL per reimpostare alcune impostazioni del server e file di log.

REVOKE

Questa istruzione MySQL è usato per revocare facilmente privilegi specificati da un utente senza necessariamente revocare tutti i privilegi o debbano eliminare un utente e creare nuovamente l'utente con meno privilegi.

SESSION_USER( )

Questa funzione MySQL restituisce il nome utente e il nome host per la connessione corrente MySQL. La funzione non ha argomenti. È sinonimo con <tt><a href='/documentation/user-security/systemuser'>SYSTEM_USER( )</a></tt> and <tt><a href='/documentation/user-security/user'>USER( )</a></tt>.

SET PASSWORD

Utilizzare questa istruzione MySQL per modificare la password di un conto utente.

SHA( )

Questa funzione MySQL restituisce il Secure Hash Algorithm (SHA) 160-bit di checksum per la stringa data. I risultati sono una stringa composta da 40 cifre esadecimali.

SHOW GRANTS

Questa istruzione MySQL visualizza il <tt>GRANT</tt> istruzione per un dato utente.

SHOW PRIVILEGES

Questa istruzione MySQL fornisce un elenco di privilegi disponibili, insieme con il contesto di ognuna (ad esempio, l'amministrazione del server) e una descrizione. L'output non è basato sull'utente. Invece, è un elenco completo dei privilegi che possono essere assegnati a un utente.

SYSTEM_USER( )

Questa funzione MySQL restituisce il nome utente e il nome host per la connessione corrente MySQL. La funzione non ha argomenti. È sinonimo con <tt><a href='/documentation/user-security/sessionuser'>SESSION_USER( )</a></tt> and <tt><a href='/documentation/user-security/user'>USER( )</a></tt>.

USER( )

Questa funzione MySQL restituisce il nome utente e il nome host per la connessione corrente MySQL. La funzione non ha argomenti. E 'sinonimo di <tt><a href='/documentation/user-security/sessionuser'>SESSION_USER( )</a></tt> e <tt><a href ='/documentation/user-security/systemuser'>SYSTEM_USER( )</a></tt>.