20 mysqladmin-komentoa MYSQL/MariaDB-hallintaan


mysqladmin on komentorivitietokannan hallintaapuohjelma, joka tulee MySQL/MariaDB-palvelimen mukana ja jota tietokannan järjestelmänvalvojat käyttävät perustoimintojen suorittamiseen. >MySQL-tehtävät, kuten pääkäyttäjän salasanan asettaminen, pääkäyttäjän salasanan vaihtaminen, mysql-prosessien valvonta, oikeuksien uudelleenlataus, tietokantojen luominen/poistaminen, palvelimen tilan tarkistaminen, käyttötilastojen näyttäminen, käynnissä olevien kyselyjen lopettaminen jne.

mysqladmin-komento ja yleinen syntaksi on:

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

Jos sinulla ei ole asennettuna MySQL/MariaDB-palvelinta tai käytät MySQL-palvelimen vanhempaa versiota, suosittelemme, että asennat tai päivität MySQL-version käyttämällä seuraavat artikkelit:

  • Kuinka asentaa MySQL RHEL-pohjaisiin jakeluihin
  • MariaDB:n asentaminen RHEL- ja Debian-järjestelmiin

Tähän artikkeliin olemme koonneet erittäin hyödyllisiä mysqladmin-komentoja, joita järjestelmän/tietokannan järjestelmänvalvojat käyttävät päivittäisessä työssään. Sinulla on oltava MySQL/MariaDB-palvelin asennettuna järjestelmääsi näiden tehtävien suorittamiseksi.

1. MySQL-pääsalasanan asettaminen

Jos sinulla on uusi MySQL/MariaDB-palvelinasennus, se ei vaadi salasanaa sen yhdistämiseen pääkäyttäjänä. Aseta MySQL-salasana pääkäyttäjälle käyttämällä seuraavaa komentoa.

mysqladmin -u root password YOURNEWPASSWORD

Varoitus: Uuden MYSQL-salasanan asettamista mysqladminin avulla pitäisi pitää haavoittuvaisena. Joissakin järjestelmissä salasanasi tulee näkyviin järjestelmän tilaohjelmille, kuten ps-komento, jonka muut käyttäjät voivat suorittaa saadakseen selville järjestelmän aktiivisten prosessien tilan.

2. Kuinka vaihtaa MySQL-pääsalasana

Jos haluat muuttaa tai päivittää MySQL-pääkäyttäjän salasanan, sinun on kirjoitettava seuraava komento. Oletetaan esimerkiksi, että vanha salasanasi on 123456 ja haluat vaihtaa sen uudella salasanalla, sano xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. Kuinka tarkistaa MySQL-palvelimen tila

Voit selvittää, onko MySQL-palvelin käytössä, käyttämällä seuraavaa komentoa.

mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Kuinka tarkistaa, mikä MySQL-versio minulla on käytössä

Seuraava komento näyttää MySQL-version sekä nykyisen ajotilan.

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. Kuinka selvittää MySQL Serverin nykyinen tila

Selvitä MySQL-palvelimen nykyinen tila käyttämällä seuraavaa komentoa. mysqladmin-komento näyttää käyttöajan tilan käynnissä olevien säikeiden ja kyselyiden kanssa.

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. Kuinka tarkistaa MySQL-tilamuuttujat ja niiden arvot

Voit tarkistaa MySQL-palvelinmuuttujien ja -arvojen kaikki toimintatilat kirjoittamalla seuraavan komennon. Tulos olisi samanlainen kuin alla oleva.

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. Kuinka nähdä kaikki MySQL-palvelimen muuttujat ja arvot?

Jos haluat nähdä kaikki MySQL-palvelimen käynnissä olevat muuttujat ja arvot, käytä seuraavaa komentoa.

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. Kuinka tarkistaa MySQL Serverin aktiiviset säikeet

Seuraava komento näyttää kaikki käynnissä olevat MySQL-tietokantakyselyjen prosessit.

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. Tietokannan luominen MySQL Serverissä

Luo uusi tietokanta MySQL-palvelimeen käyttämällä alla näkyvää komentoa.

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. Tietokannan pudottaminen MySQL Serveriin

Pudottaaksesi tietokannan MySQL-palvelimeen, käytä seuraavaa komentoa. Sinua pyydetään vahvistamaan painamalla 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. Kuinka ladata/päivittää MySQL-oikeudet?

Reload-komento kehottaa palvelinta lataamaan lupataulukot uudelleen ja refresh-komento tyhjentää kaikki taulukot ja avaa lokitiedostot uudelleen.

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

12. MySQL-palvelimen sammuttaminen turvallisesti

Sulje MySQL-palvelin turvallisesti kirjoittamalla seuraava komento.

mysqladmin -u root -p shutdown

Enter password:

Voit myös käyttää seuraavia komentoja MySQL-palvelimen käynnistämiseen/pysäyttämiseen.

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

13. Hyödyllisiä MySQL Flush -komentoja

Seuraavassa on joitain hyödyllisiä huuhtelukomentoja niiden kuvauksen kanssa.

  • Tyhjennä isännät: Tyhjennä kaikki isäntätiedot isäntävälimuistista.
  • huuhtele pöydät: Tyhjennä kaikki pöydät.
  • Tyhjennä säikeet: Tyhjennä kaikkien säikeiden välimuisti.
  • Tyhjennä lokit: Tyhjennä kaikki tietolokit.
  • huuhteluoikeudet: Lataa lupataulukot uudelleen (sama kuin lataa uudelleen).
  • flush-status: tyhjennä tilamuuttujat.

Katsotaanpa nämä komennot.

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. Kuinka tappaa Sleeping MySQL -asiakasprosessi?

Käytä seuraavaa komentoa tunnistaaksesi nukkuva MySQL-asiakasprosessi.

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

Suorita nyt seuraava komento kill- ja prosessitunnuksella alla olevan kuvan mukaisesti.

mysqladmin -u root -p kill 5

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

Jos haluat tappaa useita prosesseja, välitä prosessin tunnukset pilkuilla erotettuna alla olevan kuvan mukaisesti.

mysqladmin -u root -p kill 5,10

15. Kuinka ajaa useita mysqladmin-komentoja yhdessä

Jos haluat suorittaa useita mysqladmin-komentoja yhdessä, komento on tällainen.

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. Mysql-etäpalvelimen yhdistäminen

Voit muodostaa yhteyden MySQL-etäpalvelimeen käyttämällä -h (isäntä)  ja kaukosäätimen IP-osoite. kone.

mysqladmin -h 172.16.25.126 -u root -p

17. Komennon suorittaminen MySQL-etäpalvelimella

Oletetaan, että haluat nähdä MySQL-etäpalvelimen tilan, jolloin komento olisi.

mysqladmin -h 172.16.25.126 -u root -p status

18. MySQL-replikoinnin käynnistäminen/pysäytys orjapalvelimella

Voit käynnistää/pysäyttää MySQL-replikoinnin orjapalvelimella käyttämällä seuraavia komentoja.

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

19. MySQL-palvelimen virheenkorjaustietojen tallentaminen lokeihin

Se käskee palvelinta kirjoittamaan virheenkorjaustiedot käytössä olevista lukoista, käytetystä muistista ja kyselyn käytöstä MySQL-lokitiedostoon, mukaan lukien tiedot tapahtuman ajastimesta.

mysqladmin  -u root -p debug

Enter password:

20. Mysqladminin asetusten ja käytön tarkasteleminen

Saat lisätietoja myslqadmin-komennon vaihtoehdoista ja käytöstä käyttämällä ohjekomentoa alla kuvatulla tavalla. Se näyttää luettelon käytettävissä olevista vaihtoehdoista.

mysqladmin --help

Olemme yrittäneet parhaamme mukaan sisällyttää tähän artikkeliin lähes kaikki mysqladmin-komennot ja niiden esimerkit. Jos edelleen, jotain on jäänyt paitsi, ilmoita siitä meille kommenttien kautta, äläkä unohda jakaa ystävillesi.