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.