Introduzione
Durante l'amministrazione dei server di database MySQL, una delle attività più comuni che dovrete fare è familiarizzare con l'ambiente. Ciò comporta attività come elencare database che risiedono sul server, visualizzare le tabelle di un determinato database o ottenere informazioni sugli account utente e i loro privilegi.
Questo tutorial spiega come mostrare tutti i database in un server MySQL o MariaDB attraverso la riga di comando.
Mostra database MySQL
Il modo più comune per ottenere un elenco dei database MySQL è utilizzare il client mysql
per connettersi al server MySQL ed eseguire il comando SHOW DATABASES
.
Accedi al server MySQL usando il seguente comando e inserisci la tua password utente MySQL quando richiesto:
mysql -u user -p
Se non hai impostato una password per il tuo utente MySQL, puoi omettere l'opzione -p
.
Dall'interno della shell MySQL eseguire il comando seguente:
SHOW DATABASES;
Il comando stamperà un elenco di tutti i database per i quali all'utente è concesso un privilegio. L'output sarà simile a questo:
+--------------------+
| Database |
+--------------------+
| information_schema |
| wordpress |
+--------------------+
2 rows in set (0.00 sec)
Un altro comando che è possibile utilizzare per elencare i database è SHOW SCHEMAS
che è sinonimo del comando SHOW DATABASES
:
SHOW SCHEMAS;
L'output sarà lo stesso di quando si utilizza il comando SHOW DATABASES
:
+--------------------+
| Database |
+--------------------+
| information_schema |
| wordpress |
+--------------------+
2 rows in set (0.00 sec)
Mostrare tutti i database MySQL
Per elencare tutti i database sul server MySQL devi effettuare il login come utente che può accedere a tutti i database, per impostazione predefinita è l'utente root di MySQL o imposta un privilegio SHOW DATABASES
globale .
Accedi a un utente root di MySQL:
mysql -u user -p
Esegui il comando SHOW DATABASES
:
SHOW DATABASES;
Vedrai un elenco di tutti i database sul server MySQL:
+--------------------+
| Databases |
+--------------------+
| information_schema |
| database_name |
| mysql |
| magento |
| wordpress |
| performance_schema |
| sys |
+--------------------+
7 rows in set (0.00 sec)
Filtraggio del risultato
La clausola LIKE
può essere utilizzata per filtrare l'output del comando SHOW DATABASES
secondo uno schema specifico.
SHOW DATABASES LIKE pattern;
Ad esempio, la seguente istruzione restituirà tutti i database i cui nomi iniziano con 'word':
SHOW DATABASES LIKE 'word%';
+--------------------+
| Database |
+--------------------+
| wordpress |
+--------------------+
1 rows in set (0.00 sec)
Il segno di percentuale %
indica zero, uno o più caratteri.
Se si desidera effettuare una ricerca più complessa, eseguire una query sulla tabella schemata
dal database information_schema
che contiene informazioni su tutti i database.
La seguente dichiarazione fornisce un elenco di tutti i database che iniziano con "aperto" o "parola":
SELECT schema_name
FROM information_schema.schemata
WHERE schema_name LIKE 'word%' OR
schema_name LIKE 'mage%';
+--------------------+
| Database |
+--------------------+
| wordpress |
| magento |
+--------------------+
2 rows in set (0.00 sec)
Mostrare i database MySQL dalla riga di comando
Per ottenere un elenco dei database senza accedere alla shell MySQL è possibile utilizzare il comando mysql
con l'opzione -e
che sta indica execute (eseguire) o che mysqlshow
visualizza informazioni su database e tabelle.
Ciò è particolarmente utile quando si desidera lavorare con i database MySQL utilizzando script di shell.
Eseguire il comando seguente sul terminale per mostrare un elenco di tutti i database:
mysql -u user -p -e 'show databases;'
+--------------------+
| Database |
+--------------------+
| information_schema |
| wordpress |
+--------------------+
Ecco un esempio usando il comando mysqlshow
:
mysqlshow -u user -p
L'output sarà identico a quello del comando precedente.
Se vuoi filtrare l'output puoi usare il comando grep.
Conclusione
Hai imparato come ottenere un elenco di tutti i database nel tuo server MySQL.