Weboldal keresés

20 mysqladmin parancs a MYSQL/MariaDB adminisztrációhoz


A mysqladmin egy parancssori adatbázis-adminisztrációs segédprogram, amely a MySQL/MariaDB szerverhez tartozik, és amelyet az adatbázis-adminisztrátorok használnak néhány alapvető >MySQL feladatok, mint például a root jelszó beállítása, a root jelszó módosítása, a mysql folyamatok figyelése, a jogosultságok újratöltése, az adatbázisok létrehozása/eldobása, a szerver állapotának ellenőrzése, a használati statisztikák megjelenítése, a futó lekérdezések leállítása stb.

A mysqladmin parancs és az általános szintaxis a következő:

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

Ha nincs telepítve a MySQL/MariaDB szerver, vagy a MySQL szerver régebbi verzióját használja, akkor javasoljuk, hogy telepítse vagy frissítse a MySQL verziót a következő cikkek:

  • A MySQL telepítése RHEL-alapú disztribúciókra
  • A MariaDB telepítése RHEL és Debian rendszerekben

Ebben a cikkben összegyűjtöttünk néhány nagyon hasznos „mysqladmin” parancsot, amelyeket a rendszer-/adatbázis-adminisztrátorok használnak mindennapi munkájuk során. Ezeknek a feladatoknak a végrehajtásához telepítve kell lennie a rendszerére a MySQL/MariaDB szervernek.

1. Hogyan állítsuk be a MySQL root jelszót

Ha frissen telepítette a MySQL/MariaDB szervert, akkor nincs szükség jelszóra a root felhasználóként való csatlakozáshoz. A root felhasználó MySQL jelszavának beállításához használja a következő parancsot.

mysqladmin -u root password YOURNEWPASSWORD

Figyelmeztetés: Új MYSQL-jelszó beállítása a mysqladmin használatával sebezhetőnek tekinthető. Egyes rendszereken a jelszava láthatóvá válik a rendszerállapot-programok számára, mint például a ps parancs, amelyet más felhasználók hajthatnak végre, hogy megismerjék a rendszer aktív folyamatainak állapotát.

2. A MySQL gyökérjelszó megváltoztatása

Ha módosítani vagy frissíteni szeretné a MySQL root jelszót, akkor a következő parancsot kell begépelnie. Tegyük fel például, hogy régi jelszava 123456, és meg szeretné változtatni egy új jelszóval, mondjuk xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. A MySQL Server állapotának ellenőrzése

Ha meg szeretné tudni, hogy a MySQL szerver működik-e, használja a következő parancsot.

mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Hogyan ellenőrizhető, hogy melyik MySQL-verziót futtatom

A következő parancs a MySQL verziót mutatja az aktuális futó állapottal együtt.

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. Hogyan lehet megtudni a MySQL Server aktuális állapotát

A MySQL szerver aktuális állapotának megállapításához használja a következő parancsot. A mysqladmin parancs megjeleníti az üzemidő állapotát futó szálak és lekérdezések mellett.

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. A MySQL állapotváltozóinak és értékeinek ellenőrzése

A MySQL szerverváltozók és -értékek összes futási állapotának ellenőrzéséhez írja be a következő parancsot. A kimenet hasonló lenne az alábbihoz.

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. Hogyan lehet látni a MySQL szerver összes változóját és értékét?

A MySQL szerver összes futó változójának és értékének megtekintéséhez használja a következő parancsot.

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. A MySQL Server aktív szálainak ellenőrzése

A következő parancs megjeleníti a MySQL adatbázislekérdezések összes futó folyamatát.

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. Hogyan hozzunk létre adatbázist a MySQL Serverben

Új adatbázis létrehozásához a MySQL szerveren használja az alábbi parancsot.

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. Adatbázis eldobása a MySQL Serverben

Adatbázis eldobásához a MySQL szerverre használja a következő parancsot. Meg kell erősítenie az „y” gombot.

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. Hogyan lehet újratölteni/frissíteni a MySQL jogosultságokat?

A reload parancs arra utasítja a szervert, hogy töltse be újra az engedélyezési táblákat, a refresh parancs pedig kiüríti az összes táblát, és újra megnyitja a naplófájlokat.

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

12. A MySQL Server biztonságos leállítása

A MySQL szerver biztonságos leállításához írja be a következő parancsot.

mysqladmin -u root -p shutdown

Enter password:

A következő parancsokkal is elindíthatja/leállíthatja a MySQL szervert.

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

13. Néhány hasznos MySQL Flush parancs

Az alábbiakban néhány hasznos öblítési parancs található a leírásukkal együtt.

  • Flash-hosts: Törölje ki az összes gazdagép-információt a gazdagép gyorsítótárából.
  • Táblázatok kiürítése: Az összes asztal kiürítése.
  • Fish-threads: Az összes szál gyorsítótárának kiürítése.
  • naplók kiürítése: Az összes információs napló törlése.
  • ürítési jogosultságok: Töltse be újra az engedélyezési táblákat (ugyanúgy, mint az újratöltés).
  • flush-status: állapotváltozók törlése.

Nézzük meg ezeket a parancsokat.

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. Hogyan lehet megölni a Sleeping MySQL Client Process-t?

A következő paranccsal azonosíthatja az alvó MySQL kliensfolyamatot.

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

Most futtassa a következő parancsot kill és process ID használatával, az alábbiak szerint.

mysqladmin -u root -p kill 5

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

Ha több folyamatot szeretne megölni, akkor adja meg a folyamatazonosítókat vesszővel elválasztva az alábbiak szerint.

mysqladmin -u root -p kill 5,10

15. Több mysqladmin parancs együttes futtatása

Ha több „mysqladmin” parancsot szeretne együtt végrehajtani, akkor a parancs a következő lesz.

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. Távoli Mysql szerver csatlakoztatása

A távoli MySQL szerverhez való csatlakozáshoz használja a -h (host) -t a távoli IP-címével gép.

mysqladmin -h 172.16.25.126 -u root -p

17. Parancs végrehajtása távoli MySQL szerveren

Tegyük fel, hogy szeretné látni a távoli MySQL szerver állapotát, akkor a parancs a következő lenne.

mysqladmin -h 172.16.25.126 -u root -p status

18. A MySQL replikáció indítása/leállítása szolgakiszolgálón

A MySQL replikáció elindításához/leállításához a slave kiszolgálón használja a következő parancsokat.

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

19. A MySQL Server hibakeresési információinak tárolása a naplókban

Arra utasítja a szervert, hogy írjon hibakeresési információkat a használatban lévő zárolásokról, a használt memóriáról és a lekérdezéshasználatról a MySQL naplófájlba, beleértve az eseményütemezővel kapcsolatos információkat is.

mysqladmin  -u root -p debug

Enter password:

20. A mysqladmin opcióinak és használatának megtekintése

A myslqadmin parancs további lehetőségeinek és használatának megismeréséhez használja a help parancsot az alábbiak szerint. Megjeleníti az elérhető opciók listáját.

mysqladmin --help

Minden tőlünk telhetőt megtettünk annak érdekében, hogy szinte az összes 'mysqladmin' parancsot és azok példáit is belefoglaljuk ebbe a cikkbe. Ha mégis, valamit kihagytunk, kérjük, ossza meg velünk megjegyzésekben, és ne felejtsd el megosztani a barátaiddal.