androide

Come gestire database e utenti mysql dalla riga di comando

Come Creare un Database MySQL su cPanel

Come Creare un Database MySQL su cPanel

Sommario:

Anonim

MySQL è il più popolare sistema di gestione di database relazionali open source. Il server MySQL ci consente di creare numerosi utenti e database e concedere i privilegi appropriati in modo che gli utenti possano accedere e gestire i database.

Questo tutorial spiega come utilizzare la riga di comando per creare e gestire database e utenti MySQL o MariaDB.

Prima di iniziare

Prima di iniziare con questa esercitazione, supponiamo che sul tuo sistema sia già installato un server MySQL o MariaDB. Tutti i comandi verranno eseguiti come utente root.

Per aprire il prompt di MySQL, digitare il comando seguente e inserire la password dell'utente root di MySQL quando richiesto:

mysql -u root -p

Crea un nuovo database MySQL

Per creare un nuovo database MySQL, eseguire il comando seguente, basta sostituire database_name con il nome del database che si desidera creare:

CREATE DATABASE database_name;

Query OK, 1 row affected (0.00 sec)

ERROR 1007 (HY000): Can't create database 'database_name'; database exists

Per evitare errori se esiste il database con lo stesso nome che si sta tentando di creare, è possibile utilizzare il comando seguente:

CREATE DATABASE IF NOT EXISTS database_name;

Query OK, 1 row affected, 1 warning (0.00 sec)

Nell'output sopra, Query OK indica che la query ha avuto esito positivo e 1 warning indica che il database esiste già e che non è stato creato alcun nuovo database.

Elencare tutti i database MySQL

Puoi elencare tutti i database esistenti sul nostro server MySQL o MariaDB con il seguente comando:

SHOW DATABASES;

L'output sarà simile al seguente:

+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)

I database information_schema , mysql , performance_schema e sys vengono creati al momento dell'installazione e memorizzano informazioni su tutti gli altri database, configurazione di sistema, utenti, autorizzazioni e altri dati importanti. Questi database sono necessari per la corretta funzionalità dell'installazione di MySQL.

Elimina un database MySQL

L'eliminazione di un database MySQL è semplice come l'esecuzione di un singolo comando. Questa è un'azione non reversibile e deve essere eseguita con cautela. Assicurarsi di non rimuovere un database errato, poiché una volta eliminato il database non può essere recuperato.

Per eliminare un MySQL o MariaDB, eseguire il comando seguente:

DROP DATABASE database_name;

Query OK, 0 rows affected (0.00 sec)

ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist

Per evitare questo errore puoi usare il seguente comando:

DROP DATABASE IF EXISTS database_name;

Crea un nuovo account utente MySQL

Un account utente in MySQL è costituito da un nome utente e parti del nome host.

Per creare un nuovo account utente MySQL eseguire il comando seguente, basta sostituire "database_user" con il nome dell'utente che si desidera creare:

CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';

Nel comando sopra abbiamo impostato la parte hostname su localhost che significa che questo utente sarà in grado di connettersi al server MySQL solo dall'host locale (cioè dal sistema in cui è in esecuzione MySQL Server). Se si desidera concedere l'accesso da un altro host (s) basta cambiare l' localhost con l'IP della macchina remota o utilizzare '%' carattere jolly '%' per la parte host, il che significa che l'account utente sarà in grado di connettersi da qualsiasi host.

Come quando si lavora con i database per evitare un errore quando si tenta di creare un account utente già esistente, è possibile utilizzare:

CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';

Query OK, 0 rows affected, 1 warning (0.00 sec)

Cambia la password di un account utente MySQL

La sintassi per modificare una password dell'account utente MySQL o MariaDB dipende dalla versione del server in esecuzione sul sistema.

Puoi trovare la versione del tuo server emettendo il seguente comando:

mysql --version

ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';

SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');

In entrambi i casi, l'output dovrebbe essere simile al seguente:

Query OK, 0 rows affected (0.00 sec)

Elencare tutti gli account utente MySQL

Puoi elencare tutti gli account utente MySQL o MariaDB mysql.users query sulla tabella mysql.users :

SELECT user, host FROM mysql.user;

L'output dovrebbe essere simile al seguente:

+------------------+-----------+ | user | host | +------------------+-----------+ | database_user | % | | database_user | localhost | | debian-sys-maint | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 6 rows in set (0.00 sec)

Elimina l'account utente MySQL

Per eliminare un account utente, utilizzare il comando seguente:

DROP USER 'database_user@'localhost';

ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'

Come quando si lavora con i database per evitare l'errore, è possibile utilizzare:

DROP USER IF EXISTS 'database_user'@'localhost';

Query OK, 0 rows affected, 1 warning (0.00 sec)

Concedere le autorizzazioni a un account utente MySQL

Esistono più tipi di privilegi che possono essere concessi a un account utente. Puoi trovare un elenco completo dei privilegi supportati da MySQL qui. In questa guida esamineremo diversi esempi:

Per assegnare tutti i privilegi a un account utente su un database specifico, utilizzare il comando seguente:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Per assegnare tutti i privilegi a un account utente su tutti i database, utilizzare il comando seguente:

GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

Per assegnare tutti i privilegi a un account utente su una tabella specifica da un database, utilizzare il comando seguente:

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Revoca le autorizzazioni da un account utente MySQL

REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Visualizza i privilegi dell'account utente MySQL

Per trovare i privilegi concessi a uno specifico tipo di account utente MySQL:

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Conclusione

Questo tutorial copre solo le basi, ma dovrebbe essere un buon inizio per chiunque voglia imparare a gestire database e utenti MySQL dalla riga di comando. Puoi anche controllare il tutorial su come reimpostare una password di root di MySQL nel caso in cui l'hai dimenticata.

È tutto! Se hai domande o feedback, non esitare a lasciare un commento.

mysql mariadb