MySQL è un sistema di gestione di database relazionali open source sviluppato, distribuito e supportato da Oracle Corporation. Sono disponibili diversi strumenti basati sul Web per la gestione del server MySQL, ma è consigliabile utilizzare il client della riga di comando MySQL nativo per eseguire attività MySQL quotidiane. Ci vuole del tempo per acquisire familiarità con un'interfaccia a riga di comando, in particolare se non lavori regolarmente in un ambiente CLI.
In questo tutorial, ti mostreremo alcuni suggerimenti e trucchi della riga di comando MySQL che ti aiutano a svolgere le attività quotidiane.
Prerequisiti
- Una nuova VPS Ubuntu 18.04 con MySQL installato sulla piattaforma Atlantic.net Cloud.
- Una password di root configurata sul tuo server.
Crea server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 1GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
1 – Automatizza l'accesso a MySQL
Per connettere il server MySQL, ti verrà richiesto di autenticarti specificando un nome utente e una password.
Se questo è il tuo processo di routine, puoi risparmiare un sacco di tempo specificando il tuo nome utente e password MySQL nel file ~/.my.cnf per automatizzare il processo di accesso.
Per farlo, crea un file ~/.my.cnf nella tua home directory:
nano ~/.my.cnf
Aggiungi le seguenti informazioni contenenti il tuo host MySQL, nome utente e password:
[client] host = localhost user = root password = your-password
Salva e chiudi il file, quindi cambia la proprietà del file in mysql:
chown mysql:mysql ~/.my.cnf
Ora puoi connettere il tuo server MySQL senza specificare un nome utente e una password come mostrato di seguito:
mysql
Dovresti ottenere il seguente output:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.29-0ubuntu0.18.04.1 (Ubuntu) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
2 – Verifica i processi in esecuzione
Per controllare tutti i processi in esecuzione del servizio MySQL, eseguire il comando seguente:
mysqladmin -u root -pnew-password processlist
Dovresti vedere il seguente output:
mysqladmin: [Warning] Using a password on the command line interface can be insecure. +----+------+-----------+----+---------+------+----------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+----------+------------------+ | 6 | root | localhost | | Query | 0 | starting | show processlist | +----+------+-----------+----+---------+------+----------+------------------+
3 – Arresta il servizio MySQL
Per spegnere il server MySQL, esegui il seguente comando:
mysqladmin -u root -pnew-password shutdown
4 – Crea ed elimina database
Per creare un nuovo database, esegui il seguente comando:
mysqladmin -u root -pnew-password create dbname
Per rimuovere un database, esegui il comando seguente:
mysqladmin -u root -pnew-password drop dbname
5 – Verifica lo stato di MySQL
Per verificare se il server MySQL è in esecuzione o meno, utilizzare il comando seguente:
mysqladmin -u root -pnew-password ping
Dovresti ottenere il seguente output:
mysqld is alive
Per verificare lo stato corrente del server MySQL, eseguire il comando seguente:
mysqladmin -u root -pnew-password status
Dovresti vedere lo stato del tempo di attività con thread e query in esecuzione nel seguente output:
Uptime: 2607 Threads: 1 Questions: 30 Slow queries: 0 Opens: 112 Flush tables: 2 Open tables: 0 Queries per second avg: 0.011
Se vuoi controllare lo stato del server MySQL remoto, esegui il comando seguente:
mysqladmin -h remote-server-ip -u root -pnew-password status
6 – Controlla la versione di MySQL
Per verificare la versione installata del server MySQL, eseguire il comando seguente:
mysqladmin -u root -pnew-password version
Dovresti ottenere il seguente output:
mysqladmin: [Warning] Using a password on the command line interface can be insecure. mysqladmin Ver 8.42 Distrib 5.7.29, for Linux on x86_64 Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.7.29-0ubuntu0.18.04.1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 44 min 44 sec Threads: 1 Questions: 35 Slow queries: 0 Opens: 113 Flush tables: 2 Open tables: 1 Queries per second avg: 0.013
7 – Archivia le informazioni di debug MySQL
Se vuoi dire al server MySQL di scrivere le informazioni di debug nel file di registro MySQL, esegui il comando seguente:
mysqldump -u root -pnew-password debug
8 – Backup e ripristino del database MySQL
Per eseguire il backup di un singolo database, eseguire il comando seguente:
mysqldump -u root -pnew-password databasename > database-backup.sql
Per eseguire il backup di più database in un unico file, eseguire il comando seguente:
mysqldump -u root -pnew-password database1 database2 database3 > database-backup.sql
Per eseguire il backup di tutti i database in un unico file, eseguire il comando seguente:
mysqldump -u root -pnew-password --all-databases --single-transaction --quick --lock-tables=false > full-database.sql
Per ripristinare un database dal file di backup, eseguire il comando seguente:
mysqldump -u root -pnew-password databasename < database-backup.sql
Conclusione
Nella guida sopra, hai imparato alcuni utili comandi MySQL con esempi. Ci auguriamo che questo ti aiuti a risparmiare molto tempo quando usi MySQL sul tuo VPS da Atlantic.Net.