Ricerca nel sito web

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.