Vyhledávání na webu

20 Příkazy mysqladmin pro správu MYSQL/MariaDB


mysqladmin je nástroj pro správu databází z příkazového řádku, který je dodáván se serverem MySQL/MariaDB, který používají správci databáze k provádění některých základních MySQL, jako je nastavení hesla uživatele root, změna hesla uživatele root, sledování procesů mysql, opětovné načtení oprávnění, vytváření/rušení databází, kontrola stavu serveru, zobrazení statistik využití, ukončení spuštěných dotazů atd.

Příkaz k použití mysqladmin a obecná syntaxe je:

mysqladmin [options] command [command-arg] [command [command-arg]] ...

Pokud nemáte nainstalovaný MySQL/MariaDB server nebo používáte starší verzi MySQL serveru, doporučujeme nainstalovat nebo aktualizovat verzi MySQL pomocí následující články:

  • Jak nainstalovat MySQL na distribuce založené na RHEL
  • Jak nainstalovat MariaDB v systémech RHEL a Debian

V tomto článku jsme sestavili několik velmi užitečných příkazů „mysqladmin“, které používají správci systému/databází při své každodenní práci. K provádění těchto úloh musíte mít v systému nainstalovaný server MySQL/MariaDB.

1. Jak nastavit kořenové heslo MySQL

Pokud máte čerstvou instalaci serveru MySQL/MariaDB, pak tento server pro připojení jako uživatel root nevyžaduje žádné heslo. Chcete-li nastavit heslo MySQL pro uživatele root, použijte následující příkaz.

mysqladmin -u root password YOURNEWPASSWORD

Upozornění: Nastavení nového hesla MYSQL pomocí mysqladmin by mělo být považováno za zranitelné. Na některých systémech se vaše heslo zviditelní programům stavu systému, jako je příkaz ps, který mohou spustit jiní uživatelé, aby zjistili stav aktivních procesů v systému.

2. Jak změnit heslo kořene MySQL

Pokud chcete změnit nebo aktualizovat heslo root MySQL, musíte zadat následující příkaz. Řekněme například, že vaše staré heslo je 123456 a chcete ho změnit na nové heslo, například xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. Jak zkontrolovat stav serveru MySQL

Chcete-li zjistit, zda je server MySQL v provozu, použijte následující příkaz.

mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Jak zkontrolovat, kterou verzi MySQL používám

Následující příkaz zobrazuje verzi MySQL spolu s aktuálním stavem běhu.

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. Jak zjistit aktuální stav serveru MySQL

Chcete-li zjistit aktuální stav serveru MySQL, použijte následující příkaz. Příkaz mysqladmin zobrazuje stav uptime se spuštěnými vlákny a dotazy.

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. Jak zkontrolovat stavové proměnné MySQL a jejich hodnoty

Chcete-li zkontrolovat veškerý stav proměnných a hodnot serveru MySQL, zadejte následující příkaz. Výstup by byl podobný tomu níže.

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. Jak zobrazit všechny proměnné a hodnoty serveru MySQL?

Chcete-li zobrazit všechny spuštěné proměnné a hodnoty serveru MySQL, použijte následující příkaz.

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. Jak zkontrolovat aktivní vlákna serveru MySQL

Následující příkaz zobrazí všechny běžící procesy databázových dotazů 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. Jak vytvořit databázi na serveru MySQL

Chcete-li vytvořit novou databázi na serveru MySQL, použijte příkaz uvedený níže.

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. Jak přetáhnout databázi na MySQL Server

Chcete-li upustit databázi na MySQL server, použijte následující příkaz. Budete požádáni o potvrzení stisknutí tlačítka „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. Jak znovu načíst/obnovit oprávnění MySQL?

Příkaz reload říká serveru, aby znovu načetl tabulky grantů, a příkaz refresh vyprázdní všechny tabulky a znovu otevře soubory protokolu.

mysqladmin -u root -p reload
mysqladmin -u root -p refresh

12. Jak bezpečně vypnout MySQL Server

Chcete-li bezpečně vypnout server MySQL, zadejte následující příkaz.

mysqladmin -u root -p shutdown

Enter password:

Ke spuštění/zastavení serveru MySQL můžete také použít následující příkazy.

systemctl stop mysqld
systemctl start mysqld
Or
systemctl stop mariadb
systemctl start mariadb

13. Některé užitečné příkazy MySQL Flush

Následuje několik užitečných příkazů pro vyprázdnění s jejich popisem.

  • flush-hosts: Vyprázdní všechny informace o hostiteli z mezipaměti hostitele.
  • flush-tables: Vyprázdní všechny stoly.
  • flush-threads: Vyprázdní mezipaměť všech vláken.
  • vyprázdnit protokoly: Vyprázdnit všechny protokoly informací.
  • flush-privileges: Znovu načtěte tabulky grantů (stejně jako znovu načtěte).
  • flush-status: Vymazat stavové proměnné.

Pojďme se na tyto příkazy podívat.

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. Jak zabít spící proces klienta MySQL?

Pomocí následujícího příkazu identifikujte spící proces klienta MySQL.

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 |
+----+------+-----------+----+---------+------+-------+------------------+

Nyní spusťte následující příkaz s kill a process ID, jak je uvedeno níže.

mysqladmin -u root -p kill 5

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Pokud chcete zabít více procesů, předejte ID procesů oddělenými čárkami, jak je uvedeno níže.

mysqladmin -u root -p kill 5,10

15. Jak spouštět více příkazů mysqladmin společně

Pokud byste chtěli provést více příkazů „mysqladmin“ společně, příkaz by vypadal takto.

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. Jak připojit vzdálený server MySQL

Chcete-li se připojit ke vzdálenému serveru MySQL, použijte -h (hostitel)  s IP adresou vzdáleného stroj.

mysqladmin -h 172.16.25.126 -u root -p

17. Jak provést příkaz na vzdáleném serveru MySQL

Řekněme, že byste chtěli vidět stav vzdáleného MySQL serveru, pak by byl příkaz.

mysqladmin -h 172.16.25.126 -u root -p status

18. Jak spustit/zastavit replikaci MySQL na podřízeném serveru

Chcete-li spustit/zastavit replikaci MySQL na podřízeném serveru, použijte následující příkazy.

mysqladmin  -u root -p start-slave
mysqladmin  -u root -p stop-slave

19. Jak ukládat informace o ladění serveru MySQL do protokolů

Říká serveru, aby zapsal ladicí informace o používaných zámcích, použité paměti a využití dotazů do souboru protokolu MySQL včetně informací o plánovači událostí.

mysqladmin  -u root -p debug

Enter password:

20. Jak zobrazit možnosti a použití mysqladmin

Chcete-li zjistit další možnosti a použití příkazu myslqadmin, použijte příkaz help, jak je uvedeno níže. Zobrazí se seznam dostupných možností.

mysqladmin --help

Snažili jsme se do tohoto článku zahrnout téměř všechny příkazy 'mysqladmin' s jejich příklady. Pokud nám přesto něco uniklo, dejte nám prosím vědět prostřednictvím komentářů a ne zapomeňte sdílet se svými přáteli.