Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 7, XP
  • Crea un nuovo utente in MySQL e concedi l'autorizzazione al database MySQL.

Crea un nuovo utente in MySQL e concedi l'autorizzazione al database MySQL.

Quando si connette al server MySQL, l'utente specifica un nome utente e una password e il server verifica se il client ha il diritto di accedere al server e, in caso di successo, concede all'utente i privilegi appropriati. I dati sui privilegi dell'utente sono archiviati nel database di sistema mysql.

La verifica dell'utente viene eseguita utilizzando tre campi della tabella utente (host, utente e password) del database mysql. Il server stabilisce una connessione solo se trova una voce nella tabella utenti in cui nome utente e password corrispondono ai valori inseriti.

Puoi vedere come le password sono memorizzate nella tabella utente usando i seguenti comandi:

mysql> USA mysql

mysql> SELECT password FROM utente;

Puoi familiarizzare con tutte le tabelle del database mysql emettendo il comando

mysql> mostra tabelle;

Dopo aver stabilito una connessione, il server avvia una sessione con l'utente. Per ogni richiesta in arrivo, il server verifica se l'utente dispone di privilegi sufficienti per completare la richiesta. Le informazioni sui privilegi si trovano nelle tabelle: user, db, host,tables_priv o columns_priv.

L'elenco dei privilegi è presentato di seguito:

Il server MySQL legge il contenuto di queste tabelle all'avvio e quando le modifiche ai privilegi hanno effetto.

I privilegi SELECT, INSERT, UPDATE e DELETE consentono di eseguire operazioni sulle righe in una tabella di database. Il privilegio dell'indice consente di creare o distruggere gli indici. Il privilegio alter ti permette di usare il comando alter table. I privilegi di creazione e rilascio consentono di creare database e tabelle nuovi o di eliminare quelli esistenti. Concedi privilegio grammo ti permette di concedere ad altri utenti i privilegi che tu stesso possiedi.

Il resto dei privilegi viene utilizzato per amministrare il server SQL Il comando shutdown arresta il server.

All'avvio del server MySQL, tutte le informazioni sui privilegi dell'utente vengono caricate in memoria e, da quel momento in poi, i privilegi diventano effettivi.

I comandi grant e revoke consentono agli amministratori di sistema di creare utenti MySQL e concedere o revocare i diritti utente a quattro livelli.

· Livello globale.

I privilegi globali si applicano a tutti i database sul server specificato. Questi privilegi sono memorizzati nella tabella mysql.user.

· Livello di banca dati.

I privilegi del database si applicano a tutte le tabelle nel database specificato. Questi privilegi sono memorizzati nelle tabelle mysql .db e mysql .host.

· Livello tabella.

I privilegi di tabella si applicano a tutte le colonne nella tabella specificata.

Questi privilegi sono memorizzati nella tabella mysql. table_priv.

· Livello di colonna.

I privilegi di colonna si applicano alle singole colonne nella tabella specificata. Questi privilegi sono memorizzati nella tabella mysql .columns_priv.

Il comando grant consente di aggiungere nuovi utenti del server:

mysql> GRANT SELECT, INSERT ON taxi.* TO [e-mail protetta]

IDENTIFICATO DA "segreto";

Questo comando conferisce i diritti di inserimento e selezione alla base taxi (per tutte le tabelle - questo è impostato dal simbolo asterisco) all'utente Mike, che si connette localmente (localhost), inoltre, quando si connette al server, l'utente deve specificare la password "segreto". La password viene archiviata crittografata sul server.

mysql> CONCEDI TUTTI I PRIVILEGI SU *. * TO [e-mail protetta]"%"

-> IDENTIFICATO DA "some_pass" CON L'OPZIONE DI CONCESSIONE;

Qui Anna riceve tutti i privilegi su tutte le tabelle di tutti i database del server (*. *), E può connettersi sia localmente che in remoto tramite la rete (questo è indicato dal simbolo% dopo [e-mail protetta]). Inoltre, Anna può trasferire i suoi diritti ad altri utenti (con l'opzione di concessione), ovvero lei stessa può impartire un comando di concessione e creare nuovi utenti del sistema.

mysql> CONCEDERE L'UTILIZZO SU *. * TO [e-mail protetta]

IDENTIFICATO DA `password";

L'utente fittizio creato in questo esempio può connettersi al server, ma solo dal computer locale. Il privilegio USAGE significa che l'utente non ha altri privilegi. Ciò può essere richiesto quando una persona viene assunta, ma le sue responsabilità non sono ancora state determinate. Si prevede che i privilegi specifici del database verranno concessi in seguito. Non sarà possibile creare un utente con una password vuota - il sistema non lo consente per motivi di sicurezza.

Il comando REVOKE consente all'amministratore di revocare i diritti utente:

REVOKE SELECT (use_on) ON taxi.timetable FROM Mike @ localhost;

L'utente Mike non può visualizzare i valori del campo use_on nell'orario.

Il comando set può impostare varie opzioni che influiscono sul funzionamento del server o del client. È inoltre possibile impostare una password per l'utente root utilizzando questo comando:

mysql> IMPOSTA PASSWORD PER [e-mail protetta]= PASSWORD ("nuova_password");

Gli utenti possono lavorare direttamente con le tabelle di assegnazione dei privilegi:

mysql> USA mysql;

Mysql> UPDATE user SET Password = PASSWORD ("new_password")

-> WHERE utente = "radice";

Successivamente, dovresti emettere un comando che costringe il server a rileggere le tabelle dei privilegi, quindi avranno effetto:

mysql> PRIVILEGI DI FLUSH;

Se la password viene impostata utilizzando l'istruzione grant. ... .identificato da, non è necessario utilizzare la funzione password(). Questo comando crittografa la password in modo indipendente, quindi la password dovrebbe essere specificata in testo normale, ad esempio, in questo modo:

mysql> CONCEDERE L'UTILIZZO SU *. * TO [e-mail protetta]"%" IDENTIFICATO DA "biscotto";

Le modifiche apportate alle tabelle di concessione utilizzando i comandi grant, revoke o set password vengono inviate dal server non appena vengono eseguite queste istruzioni.

Se sei interessato allo sviluppo web o allo sviluppo di software in generale, probabilmente hai sentito parlare di database. I database sono repository virtuali per i dati necessari per creare applicazioni web. Sono utilizzati per memorizzare informazioni sull'utente come nome utente, password, indirizzo e-mail e altro. In generale, qualsiasi tipo di informazione di cui potresti aver bisogno in futuro può essere memorizzata nel database.

Naturalmente, i dati che memorizzi devono essere in ordine. È qui che entrano in gioco i sistemi di gestione dei database. Questi sistemi vengono utilizzati per lavorare con il database e consentono agli sviluppatori di strutturare, archiviare, interrogare e modificare i dati.

MySQL è uno di questi sistemi di gestione di database. È uno dei sistemi più famosi per la sua facilità d'uso e il supporto della comunità. A proposito, la sua prevalenza ha attratto anche aziende così grandi come Facebook e Twitter, che in una certa misura lo usano.

In questo tutorial, esamineremo le basi di MySQL ed esploreremo come creare un utente MySQL. Esploreremo anche come concedere i privilegi di accesso agli utenti MySQL. In questo tutorial, faremo tutto questo dalla riga di comando.

Prima di iniziare, avrai bisogno di quanto segue:

  • MySQL installato sul tuo computer. Manuale utente su come installarlo su.

Passaggio 1: creare un utente MySQL e concedere diritti di accesso illimitati

Una volta che inizi a utilizzare MySQL, ti verranno presentati un nome utente e una password. Queste credenziali iniziali ti danno i privilegi di "accesso root". Un utente con accesso root ha accesso completo a tutti i database e le tabelle all'interno di questi database.

Ma spesso è necessario concedere a qualcun altro l'accesso al database senza dargli il pieno controllo. Ad esempio, le aziende che assumono sviluppatori per gestire i database ma non vogliono concedere loro la possibilità di eliminare o modificare informazioni riservate possono concedere loro diritti di accesso non root. In questo caso, l'azienda può controllare ciò che i suoi sviluppatori possono e non possono fare con i dati.

È molto facile creare un utente MySQL. Ti mostreremo come creare un utente MySQL e come assegnargli i permessi del database. Se l'utente non è root, concedergli tutti i diritti non è pratico e questo è un buon motivo per studiare come assegnare i diritti di accesso agli utenti. Segui questi passaggi per creare un nuovo utente:

  1. Avvia una riga di comando e da lì il server MySQL: mysql
  2. Eseguire il seguente comando: CREATE USER "non root" @ "localhost" IDENTIFICATO DA "123";

    In questo comando, 'non root' è il nome che assegniamo al nostro nuovo utente. E '123' è la sua password. Puoi sostituire con i tuoi valori all'interno delle virgolette.

  3. La creazione di un nuovo utente non è sufficiente. È necessario assegnare i diritti di accesso ad esso. Per assegnare all'utente appena creato l'accesso illimitato al database, eseguire il comando seguente: GRANT ALL PRIVILEGES ON *. * TO "non root" @ "localhost";
  4. Affinché le modifiche abbiano effetto, eseguire il comando di aggiornamento: FLUSH PRIVILEGES;

È tutto! Il tuo nuovo utente ha la stessa autorità di database di root.

Passaggio 2: assegna privilegi speciali all'utente MySQL

Come detto sopra, non è molto intelligente dare l'accesso root all'utente, non root. Il più delle volte, dovrai fornire diversi livelli di accesso per diversi utenti. MySQL lo rende facile e veloce eseguendo il seguente comando:

GRANT [tipo di autorizzazione] ON [nome database] [nome tabella] TO 'non-root' @ "localhost";

Devi solo sostituire il valore "tipo di diritti" con il tipo di diritti di accesso che vuoi concedere al nuovo utente. Inoltre è necessario specificare il database ei nomi delle tabelle a cui viene fornito l'accesso. Simile all'esempio precedente, "non root" è il nome utente, quindi puoi sostituirlo con quello che desideri. MySQL ha diversi tipi di permessi, alcuni dei quali sono descritti di seguito:

  • CREARE- Consente agli utenti di creare database/tabelle
  • SELEZIONARE- Consente agli utenti di campionare i dati
  • INSERIRE- Consente agli utenti di aggiungere nuovi record alle tabelle
  • AGGIORNARE- Consente agli utenti di modificare i record esistenti nelle tabelle
  • ELIMINARE- Consente agli utenti di eliminare i record dalle tabelle
  • GOCCIOLARE- Consente agli utenti di eliminare i record nel database/tabelle

Per utilizzare una di queste opzioni, è sufficiente sostituire [tipo di diritti] parola necessaria. Per assegnare più tipi di permessi, separarli con virgole come nel comando seguente. Ad esempio, possiamo assegnare privilegi come CREARE e SELEZIONARE per il nostro utente MySQL non root con il seguente comando:

CONCEDERE CREA, SELEZIONARE SU *. * TO "non root" @ "localhost";

Naturalmente, potresti riscontrare una situazione in cui devi rimuovere i dati dall'utente che in precedenza aveva i diritti di accesso. Questo può essere fatto eseguendo il seguente comando:

REVOKE [tipo di autorizzazione] ON [nome database] [nome tabella] FROM 'non-root' @ 'localhost';

Ad esempio, per revocare tutti i privilegi da un utente non root, devi fare:

REVOCA TUTTI I PRIVILEGI SU *.* FROM "non-root" @ "localhost";

Infine, puoi eliminare un utente esistente utilizzando il comando:

DROP USER 'non root' @ 'localhost';

Ricorda che hai bisogno dell'autorità di root per eseguire uno di questi comandi. Inoltre, assicurati di seguire PRIVILEGI DI SCARICO dopo ogni modifica dei diritti di accesso.

Conclusione

In questo tutorial, abbiamo appreso alcune delle basi per lavorare con i permessi MySQL e come creare un utente MySQL. In particolare:

  • Crea un nuovo utente e assegnagli tutti i diritti di accesso
  • Assegnazione di diritti di accesso speciali agli utenti, nonché la loro cancellazione e rimozione degli utenti

L'assegnazione dei diritti di accesso può sembrare difficile quando si sviluppa una nuova applicazione Web, ma è molto importante gestire e mantenere un database. Quasi tutte le applicazioni moderne sono basate su database, quindi è molto importante che lo sviluppatore sappia assegnare/revocare i permessi del database in MySQL.

Finalmente ho messo le mani sui database, oggi continueremo ad occuparci del server MySQL. Come avrai intuito, parleremo degli utenti MySQL e della creazione di un account utente del server MySQL. Vi ricordo che il primissimo utente viene creato durante l'installazione automatica del server MySQL. Immettere la password per l'account utente MySQL denominato root. Ma a volte ci sono situazioni in cui ci sono troppi diritti utente root, ad esempio: alcuni utenti dovrebbero avere solo i diritti per visualizzare i dati, ma non per modificarli.

diritti, Utenti MySQL può essere molto diverso, e parleremo dei diritti di accesso ai database MySQL in una pubblicazione separata. Il nostro compito è capire come connetterci a un server che ha una porta TCP specifica. In effetti, creare un nuovo utente MySQL non è così difficile, ma ci sono alcune sottigliezze di cui dovresti essere a conoscenza in modo da non avere problemi nell'amministrazione dei database MySQL.

Come accedere al server MySQL

Quando hai creato il primo utente MySQL, il suo nome è root, hai trovato tu stesso la password per questo account. L'utente root è l'utente più importante del server MySQL, l'amministratore principale con diritti di accesso illimitati, questo utente può creare nuovi account per accedere ai database MySQL, in altre parole: l'amministratore principale può creare un utente MySQL con meno diritti di se stesso .

Prima, come creare un utente MySQL, non dimenticare . Per accedere al server MySQL, è necessario stabilire una connessione, per questo è necessario inserire nome utente e password. Se il server del database è remoto, sarà necessario inserire anche il nome dell'host su cui è installato, se non si specifica il nome dell'host, verrà stabilita la connessione con il server locale.

Per stabilire una connessione al server locale, è possibile utilizzare il seguente comando nella riga di comando del sistema operativo:

mysql –h localhost –p –u root

mysql –h localhost –p –u root

Confermiamo il comando premendo il tasto Invio, dopodiché MySQL ti chiederà di inserire la password per questo utente, inserisci e premi Invio. Nota: se stai lavorando nel sistema operativo Windows 7, la riga di comando deve essere eseguita come amministratore. A volte il server MySQL potrebbe non essere trovato, parleremo della soluzione a questo problema in un altro articolo.

Affrontiamo questo comando. Questo comando avvia la console del server MySQL, una shell che consente di lavorare con i database, le operazioni che possono essere eseguite con i dati possono essere molto diverse, tutto dipende dai diritti di accesso dell'utente MySQL, in questo caso è possibile eseguire qualsiasi operazione con tutti i database, perché sei loggato come utente MySQL root. Nota per gli utenti inesperti di sistemi operativi simili a UNIX: root Utente MySQL il server e l'utente root del sistema operativo sono due utenti diversi. Il nome utente del server MySQL è scritto dopo la costruzione "-u".

La password dell'utente del server MySQL viene scritta dopo la costruzione "-p". Non devi inserirlo subito, quindi dovrai inserirlo dopo aver premuto Invio. Dopo la costruzione "-h" viene scritto il nome dell'host dove si trova il server MySQL; in questo caso, indichiamo esplicitamente che la connessione deve essere stabilita con il server del database locale, non è necessario farlo.

Dopo aver eseguito questo comando, dovrai inserire la password dell'utente MySQL. Se l'utente MySQL non ha una password, dopo aver eseguito il comando, premere il tasto Invio. Spero che abbiamo capito come ottenere l'accesso al server MySQL e che non ci saranno domande qui.

Come visualizzare le informazioni sui database del server MySQL esistenti

Nota: il comando use non è una query SQL, quindi non è necessario mettere un punto e virgola alla fine di questo comando, ma puoi metterlo, il risultato sarà lo stesso: inizierai a lavorare con il server MySQL specificato Banca dati. Database_name è il nome del database con cui lavorerà l'utente MySQL, può essere uno qualsiasi dell'elenco risultante, che è stato emesso dal comando show databases. Penso che questo sia tutto ciò che devi sapere per affrontare ulteriormente il fatto come creare un utente MySQL.

Come creare un utente MySQL. comando CONCEDERE.

Quindi, passiamo alla domanda: come creare un utente MySQL. Un nuovo account utente MySQL viene creato con il comando GRANT. Il comando GRANT crea più di un semplice Utenti MySQL server, ma ha anche assegnato i diritti di accesso e i privilegi degli utenti MySQL. Tutti gli utenti MySQL si dividono in due categorie, una piccola e l'altra grande:

  1. Utente root di MySQL. Capace di fare tutto, questo è l'amministratore principale del server MySQL, spesso i diritti di root non sono necessari, con questi diritti puoi farti del male.
  2. Utenti MySQL creati da root. Questi utenti del server MySQL hanno diritti diversi, i diritti vengono assegnati dall'utente root utilizzando la query SQL GRANT.

Quindi cerchiamo di capire come creare un utente MySQL, se non l'hai ancora dimenticato: gli utenti MySQL vengono creati con una query GRANT:

GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...] ON (tbl_name | * | *. * | Db_name. *) TO user_name [, user_name ...]

GRANT tipo_privato [(elenco_colonne)] [, tipo_privato [(elenco_colonne)]. ... ... ]

ON (tbl_name | * | *. * | Db_name. *)

TO nome_utente [IDENTIFICATO DA "password"]

[, nome_utente [IDENTIFICATO DA "password"]. ... ... ]

[CON OPZIONE DI SOVVENZIONE]

L'esempio mostra la sintassi generale per il comando GRANT, è abbastanza semplice, ma puoi creare utenti MySQL con privilegi diversi. Vediamo quale Utenti MySQL può essere creato utilizzando questo comando per un esempio specifico.

Creeremo un nuovo utente MySQL. Ce n'è uno chiamato mydb sul mio server, puoi creare il tuo database con il nome che desideri. Nota che anche se l'utente MySQL esiste già, dovrà comunque concedere determinati privilegi con il comando GRANT. Quindi, creiamo un nuovo utente che può eseguire qualsiasi azione con il database mydb del server MySQL. Darò alcuni dati introduttivi. Nome utente MySQL: "newusermysql", password utente MySQL: "userpassword". Host su cui è installato il server: localhost. Azioni che un nuovo utente può eseguire: qualsiasi azione con il database mydb. GRANT richiesta per creare un utente MySQL con i diritti specificati:

TO "newusermysql" @ "localhost" IDENTIFICATO DA "userpassword";

Il punto e virgola alla fine del comando è obbligatorio, poiché GRANT è una query SQL. Analizziamo il comando per creare un utente MySQL in parti. IDENTIFICATO DA "userpassword": imposta la password per l'utente MySQL su "userpassword". "newusermysql" @ "localhost": specificare l'host a cui sarà connesso l'utente con il nome "newusermysql". L'istruzione GRANT può essere utilizzata solo dall'utente MySQL root. L'istruzione ALL ON concede piena autorità all'utente newusermysql sul database mydb.

Nota: è gestito da un server MySQL, quindi gli utenti WordPress possono essere creati manualmente compilando gli appositi campi e assegnando loro i privilegi, d'altra parte: WordPress è un CMS che semplifica la vita ad un webmaster e fornisce un'interfaccia grafica per creare utenti.

Penso di essere entrato nei dettagli sulla questione di come creare un utente MySQL, ora puoi creare nuovi utenti, parleremo dei privilegi degli utenti MySQL in una delle seguenti pubblicazioni, se hai ancora domande su questo argomento, chiedi loro nei commenti se pensi che l'articolo ti abbia aiutato e vuoi aiutare la risorsa - usa il blocco dei pulsanti social in questa pagina, te ne sarò molto grato e grato! Grazie per l'attenzione!

Principali articoli correlati