20 comandi mysqladmin per l'amministrazione MYSQL/MariaDB
mysqladmin è un'utilità di amministrazione di database da riga di comando fornita con il server MySQL/MariaDB, utilizzata dagli amministratori di database per eseguire alcune operazioni di base Attività >MySQL come l'impostazione della password di root, la modifica della password di root, il monitoraggio dei processi mysql, il ricaricamento dei privilegi, la creazione/eliminazione di database, il controllo dello stato del server, la visualizzazione delle statistiche di utilizzo, l'interruzione delle query in esecuzione, ecc.
Il comando da utilizzare mysqladmin e la sintassi generale è:
mysqladmin [options] command [command-arg] [command [command-arg]] ...
Se non hai installato il server MySQL/MariaDB o stai utilizzando una versione precedente del server MySQL, ti consigliamo di installare o aggiornare la versione di MySQL utilizzando il seguenti articoli:
- Come installare MySQL su distribuzioni basate su RHEL
- Come installare MariaDB nei sistemi RHEL e Debian
In questo articolo abbiamo raccolto alcuni comandi "mysqladmin" molto utili che vengono utilizzati dagli amministratori di sistema/database nel loro lavoro quotidiano. È necessario che sul tuo sistema sia installato il server MySQL/MariaDB per eseguire queste attività.
1. Come impostare la password di root MySQL
Se hai una nuova installazione del server MySQL/MariaDB, non è necessaria alcuna password per collegarlo come utente root. Per impostare la password MySQL per l'utente root, utilizza il seguente comando.
mysqladmin -u root password YOURNEWPASSWORD
Avviso: l'impostazione di una nuova password MYSQL utilizzando mysqladmin dovrebbe essere considerata vulnerabile. Su alcuni sistemi, la password diventa visibile ai programmi di stato del sistema come il comando ps che può essere eseguito da altri utenti per conoscere lo stato dei processi attivi su un sistema.
2. Come modificare la password di root MySQL
Se desideri modificare o aggiornare la password root di MySQL, devi digitare il seguente comando. Ad esempio, supponiamo che la tua vecchia password sia 123456 e che desideri cambiarla con una nuova password, ad esempio xyz123.
mysqladmin -u root -p123456 password 'xyz123'
3. Come verificare lo stato del server MySQL
Per scoprire se il server MySQL è attivo e funzionante, utilizza il seguente comando.
mysqladmin -u root -p ping
Enter password:
mysqld is alive
4. Come verificare quale versione di MySQL sto utilizzando
Il seguente comando mostra la versione di MySQL insieme allo stato di esecuzione corrente.
mysqladmin -u root -p version
Enter password:
mysqladmin Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.
Server version 10.3.32-MariaDB
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 18 min 6 sec
Threads: 6 Questions: 20 Slow queries: 0 Opens: 18 Flush tables: 1
Open tables: 11 Queries per second avg: 0.018
5. Come scoprire lo stato corrente del server MySQL
Per scoprire lo stato corrente del server MySQL, utilizza il seguente comando. Il comando mysqladmin mostra lo stato di uptime con thread e query in esecuzione.
mysqladmin -u root -p status
Enter password:
Uptime: 1185 Threads: 6 Questions: 21 Slow queries: 0 Opens: 18 Flush tables: 1
Open tables: 11 Queries per second avg: 0.017
6. Come controllare le variabili di stato MySQL e i loro valori
Per controllare tutto lo stato di esecuzione delle variabili e dei valori del server MySQL, digita il seguente comando. L'output sarebbe simile a quello seguente.
mysqladmin -u root -p extended-status
Enter password:
+--------------------------------------------------------------+
| Variable_name | Value |
+--------------------------------------------------------------+
| Aborted_clients | 0 |
| Aborted_connects | 2 |
| Access_denied_errors | 2 |
| Acl_column_grants | 0 |
| Acl_database_grants | 0 |
| Acl_function_grants | 0 |
| Acl_procedure_grants | 0 |
| Acl_package_spec_grants | 0 |
| Acl_package_body_grants | 0 |
| Acl_proxy_users | 2 |
| Acl_role_grants | 0 |
| Acl_roles | 0 |
| Acl_table_grants | 0 |
| Acl_users | 4 |
| Aria_pagecache_blocks_not_flushed | 0 |
| Aria_pagecache_blocks_unused | 15706 |
| Aria_pagecache_blocks_used | 0 |
| Aria_pagecache_read_requests | 0 |
| Aria_pagecache_reads | 0 |
| Aria_pagecache_write_requests | 0 |
...
7. Come visualizzare tutte le variabili e i valori del server MySQL?
Per vedere tutte le variabili e i valori in esecuzione del server MySQL, utilizzare il comando come segue.
mysqladmin -u root -p variables
Enter password:
+--------------------------------------------+-----------------------------+
| Variable_name | Value |
+--------------------------------------------+-----------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| autocommit | ON |
| automatic_sp_privileges | ON |
| back_log | 50 |
| basedir | /usr |
| big_tables | OFF |
| binlog_cache_size | 32768 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_format | STATEMENT |
| binlog_stmt_cache_size | 32768 |
| bulk_insert_buffer_size | 8388608 |
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
+---------------------------------------------------+----------------------+
...
8. Come controllare i thread attivi di MySQL Server
Il seguente comando visualizzerà tutti i processi in esecuzione delle query del database MySQL.
mysqladmin -u root -p processlist
Enter password:
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 2 | system user | | | Daemon | | InnoDB purge coordinator | | 0.000 |
| 1 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 4 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 3 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 5 | system user | | | Daemon | | InnoDB shutdown handler | | 0.000 |
| 20 | root | localhost | | Query | 0 | Init | show processlist | 0.000 |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
9. Come creare un database nel server MySQL
Per creare un nuovo database nel server MySQL, utilizza il comando mostrato di seguito.
mysqladmin -u root -p create tecmint
Enter password:
mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.3.32-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| tecmint |
+--------------------+
4 rows in set (0.001 sec)
10. Come eliminare un database nel server MySQL
Per rilasciare un database nel server MySQL, utilizzare il seguente comando. Ti verrà chiesto di confermare e premi "y".
mysqladmin -u root -p drop tecmint
Enter password:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'tecmint' database [y/N] y
Database "tecmint" dropped
11. Come ricaricare/aggiornare i privilegi MySQL?
Il comando reload indica al server di ricaricare le tabelle di concessione e il comando refresh scarica tutte le tabelle e riapre i file di registro.
mysqladmin -u root -p reload
mysqladmin -u root -p refresh
12. Come spegnere il server MySQL in modo sicuro
Per arrestare il server MySQL in modo sicuro, digita il seguente comando.
mysqladmin -u root -p shutdown
Enter password:
Puoi anche utilizzare i seguenti comandi per avviare/arrestare il server MySQL.
systemctl stop mysqld
systemctl start mysqld
Or
systemctl stop mariadb
systemctl start mariadb
13. Alcuni utili comandi MySQL Flush
Di seguito sono riportati alcuni utili comandi di flush con la loro descrizione.
- flush-hosts: cancella tutte le informazioni sull'host dalla cache dell'host.
- flush-tables: svuota tutte le tabelle.
- flush-threads: svuota la cache di tutti i thread.
- flush-logs: svuota tutti i log di informazioni.
- flush-privileges: ricarica le tabelle di concessione (come ricarica).
- flush-status: cancella le variabili di stato.
Diamo un'occhiata a questi comandi.
mysqladmin -u root -p flush-hosts
mysqladmin -u root -p flush-tables
mysqladmin -u root -p flush-threads
mysqladmin -u root -p flush-logs
mysqladmin -u root -p flush-privileges
mysqladmin -u root -p flush-status
14. Come eliminare il processo client MySQL inattivo?
Utilizza il seguente comando per identificare il processo client MySQL inattivo.
mysqladmin -u root -p processlist
Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+------------------+
| 5 | root | localhost | | Sleep | 14 | | |
| 8 | root | localhost | | Query | 0 | | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Ora esegui il seguente comando con kill e ID processo come mostrato di seguito.
mysqladmin -u root -p kill 5
Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost | | Query | 0 | | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Se desideri uccidere più processi, passa gli ID processo con virgole separate come mostrato di seguito.
mysqladmin -u root -p kill 5,10
15. Come eseguire più comandi mysqladmin insieme
Se desideri eseguire più comandi "mysqladmin" insieme, il comando sarà simile a questo.
mysqladmin -u root -p processlist status version
Enter password:
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 1 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 2 | system user | | | Daemon | | InnoDB purge coordinator | | 0.000 |
| 4 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 3 | system user | | | Daemon | | InnoDB purge worker | | 0.000 |
| 5 | system user | | | Daemon | | InnoDB shutdown handler | | 0.000 |
| 9 | root | localhost | | Query | 0 | Init | show processlist | 0.000 |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
Uptime: 173 Threads: 6 Questions: 4 Slow queries: 0 Opens: 18 Flush tables: 1 Open tables: 11 Queries per second avg: 0.023
mysqladmin Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.
Server version 10.3.32-MariaDB
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 min 53 sec
Threads: 6 Questions: 4 Slow queries: 0 Opens: 18 Flush tables: 1 Open tables: 11 Queries per second avg: 0.023
16. Come connettere il server MySQL remoto
Per connetterti al server MySQL remoto, utilizza -h (host) con l'indirizzo IP del remoto macchina.
mysqladmin -h 172.16.25.126 -u root -p
17. Come eseguire il comando sul server MySQL remoto
Supponiamo che desideri vedere lo stato del server MySQL remoto, quindi il comando sarebbe.
mysqladmin -h 172.16.25.126 -u root -p status
18. Come avviare/arrestare la replica MySQL su un server slave
Per avviare/arrestare la replica MySQL sul server slave, utilizzare i seguenti comandi.
mysqladmin -u root -p start-slave
mysqladmin -u root -p stop-slave
19. Come archiviare le informazioni di debug del server MySQL nei log
Indica al server di scrivere informazioni di debug sui blocchi in uso, sulla memoria utilizzata e sull'utilizzo delle query nel file di registro MySQL, comprese le informazioni sullo scheduler degli eventi.
mysqladmin -u root -p debug
Enter password:
20. Come visualizzare le opzioni e l'utilizzo di mysqladmin
Per scoprire ulteriori opzioni e utilizzo del comando myslqadmin, utilizza il comando help come mostrato di seguito. Verrà visualizzato un elenco di opzioni disponibili.
mysqladmin --help
Abbiamo fatto del nostro meglio per includere quasi tutti i comandi 'mysqladmin' con i relativi esempi in questo articolo. Se ancora ci siamo persi qualcosa, faccelo sapere tramite i commenti e non farlo dimentica di condividere con i tuoi amici.