Come Creare un Database MySQL su cPanel
Sommario:
- Prima di iniziare
- Crea un nuovo database MySQL
- Elencare tutti i database MySQL
- Elimina un database MySQL
- Crea un nuovo account utente MySQL
- Cambia la password di un account utente MySQL
- Elencare tutti gli account utente MySQL
- Elimina l'account utente MySQL
- Concedere le autorizzazioni a un account utente MySQL
- Revoca le autorizzazioni da un account utente MySQL
- Visualizza i privilegi dell'account utente MySQL
- Conclusione
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:
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 mariadbCome eseguire Windows Defender dalla riga di comando
Windows Defender e Microsoft Security Essentials hanno la capacità di scansionare, aggiornare o eseguire altre attività utilizzando il Prompt dei comandi utilizzando l`utilità MpCmdRun.exe.
Come creare un database mysql su Linux tramite riga di comando
Questo tutorial spiega come utilizzare la riga di comando per creare database MySQL o MariaDB.
Come eliminare un database mysql su Linux tramite riga di comando
Questo tutorial descrive come eliminare (o rilasciare) un database MySQL o MariaDB tramite la riga di comando.