20 mysqladmin naredbi za MYSQL/MariaDB administraciju
mysqladmin je uslužni program za administraciju baze podataka sa komandne linije koji dolazi sa MySQL/MariaDB serverom, koji koriste Administratori baze podataka za obavljanje nekih osnovnih MySQL zadaci kao što su postavljanje root lozinke, promjena root lozinke, nadgledanje mysql procesa, ponovno učitavanje privilegija, kreiranje/ispuštanje baza podataka, provjera statusa servera, prikaz statistike korištenja, ukidanje pokrenutih upita itd.
Naredba za korištenje mysqladmin i opća sintaksa je:
mysqladmin [options] command [command-arg] [command [command-arg]] ...
Ako nemate instaliran MySQL/MariaDB server ili koristite stariju verziju MySQL servera, preporučujemo vam da instalirate ili ažurirate MySQL verziju koristeći sljedeći članci:
- Kako instalirati MySQL na RHEL-bazirane distribucije
- Kako instalirati MariaDB u RHEL i Debian sisteme
U ovom članku smo sastavili neke vrlo korisne „mysqladmin“ komande koje koriste administratori sistema/baze podataka u svom svakodnevnom radu. Morate imati MySQL/MariaDB server instaliran na vašem sistemu da izvršite ove zadatke.
1. Kako postaviti MySQL root lozinku
Ako imate novu instalaciju MySQL/MariaDB servera, tada nije potrebna nikakva lozinka da biste ga povezali kao root korisnik. Da postavite MySQL lozinku za root korisnika, koristite sljedeću naredbu.
mysqladmin -u root password YOURNEWPASSWORD
Upozorenje: Postavljanje nove MYSQL lozinke pomoću mysqladmin treba smatrati ranjivim. Na nekim sistemima, vaša lozinka postaje vidljiva programima za status sistema kao što je naredba ps koju mogu izvršiti drugi korisnici da bi znali status aktivnih procesa na sistemu.
2. Kako promijeniti MySQL root lozinku
Ako želite promijeniti ili ažurirati MySQL root lozinku, tada morate upisati sljedeću naredbu. Na primjer, recimo da je vaša stara lozinka 123456 i da je želite promijeniti novom lozinkom, recimo xyz123.
mysqladmin -u root -p123456 password 'xyz123'
3. Kako provjeriti status MySQL servera
Da saznate da li je MySQL server pokrenut i radi, koristite sljedeću naredbu.
mysqladmin -u root -p ping
Enter password:
mysqld is alive
4. Kako provjeriti koju verziju MySQL-a koristim
Sljedeća komanda prikazuje verziju MySQL zajedno sa trenutnim statusom rada.
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. Kako saznati trenutni status MySQL servera
Da biste saznali trenutni status MySQL servera, koristite sljedeću naredbu. Komanda mysqladmin prikazuje status uptime sa pokrenutim nitim i upitima.
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. Kako provjeriti MySQL statusne varijable i njihove vrijednosti
Da provjerite sav radni status MySQL serverskih varijabli i vrijednosti, unesite sljedeću naredbu. Izlaz bi bio sličan onome ispod.
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. Kako vidjeti sve varijable i vrijednosti MySQL servera?
Da vidite sve aktivne varijable i vrijednosti MySQL servera, koristite naredbu kako slijedi.
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. Kako provjeriti aktivne niti na MySQL serveru
Sljedeća komanda će prikazati sve pokrenute procese MySQL upita baze podataka.
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. Kako kreirati bazu podataka u MySQL serveru
Da kreirate novu bazu podataka na MySQL serveru, koristite naredbu prikazanu ispod.
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. Kako ispustiti bazu podataka u MySQL Server
Za ispuštanje baze podataka na MySQL server, koristite sljedeću naredbu. Od vas će se tražiti da potvrdite pritiskom na „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. Kako ponovo učitati/osvježiti MySQL privilegije?
Komanda reload govori serveru da ponovo učita tabele odobrenja, a naredba refresh čisti sve tabele i ponovo otvara datoteke evidencije.
mysqladmin -u root -p reload
mysqladmin -u root -p refresh
12. Kako bezbedno isključiti MySQL server
Da biste sigurno isključili MySQL server, unesite sljedeću naredbu.
mysqladmin -u root -p shutdown
Enter password:
Također možete koristiti sljedeće komande za pokretanje/zaustavljanje MySQL servera.
systemctl stop mysqld
systemctl start mysqld
Or
systemctl stop mariadb
systemctl start mariadb
13. Neke korisne MySQL Flush komande
Slijede neke korisne naredbe za ispiranje s njihovim opisom.
- flush-hosts: Ispraznite sve informacije o hostu iz keša hosta.
- tablice za ispiranje: Ispraznite sve tabele.
- flush-threads: Ispraznite keš sve niti.
- flush-logs: Ispraznite sve evidencije informacija.
- flush-privileges: Ponovno učitajte tabele odobrenja (isto kao i ponovno učitavanje).
- flush-status: Obrišite varijable statusa.
Pogledajmo ove komande.
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. Kako ubiti Sleeping MySQL klijentski proces?
Koristite sljedeću naredbu za identifikaciju klijentskog procesa MySQL u mirovanju.
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 |
+----+------+-----------+----+---------+------+-------+------------------+
Sada pokrenite sljedeću naredbu sa kill i process ID kao što je prikazano ispod.
mysqladmin -u root -p kill 5
Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost | | Query | 0 | | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Ako želite ubiti više procesa, proslijedite ID-ove procesa sa zarezima odvojenim kao što je prikazano ispod.
mysqladmin -u root -p kill 5,10
15. Kako zajedno pokrenuti više mysqladmin komandi
Ako želite da izvršite više naredbi „mysqladmin“ zajedno, tada bi komanda bila ovakva.
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. Kako povezati udaljeni Mysql server
Za povezivanje na udaljeni MySQL server, koristite -h (host) sa IP adresom udaljenog mašina.
mysqladmin -h 172.16.25.126 -u root -p
17. Kako izvršiti naredbu na udaljenom MySQL serveru
Recimo da želite da vidite status udaljenog MySQL servera, tada bi komanda bila.
mysqladmin -h 172.16.25.126 -u root -p status
18. Kako pokrenuti/zaustaviti MySQL replikaciju na slave serveru
Za pokretanje/zaustavljanje MySQL replikacije na slave serveru koristite sljedeće naredbe.
mysqladmin -u root -p start-slave
mysqladmin -u root -p stop-slave
19. Kako pohraniti informacije o otklanjanju grešaka MySQL servera u dnevnike
On govori serveru da zapiše informacije o otklanjanju grešaka o korištenim zaključavanjima, korištenoj memoriji i korištenju upita u MySQL datoteku dnevnika, uključujući informacije o planeru događaja.
mysqladmin -u root -p debug
Enter password:
20. Kako pogledati mysqladmin opcije i upotrebu
Da biste saznali više opcija i upotrebe naredbe myslqadmin, koristite naredbu za pomoć kao što je prikazano ispod. Prikazaće se lista dostupnih opcija.
mysqladmin --help
Dali smo sve od sebe da uključimo skoro sve naredbe 'mysqladmin' sa njihovim primjerima u ovom članku. Ako smo ipak nešto propustili, javite nam putem komentara i nemojte zaboravite podijeliti sa svojim prijateljima.