20 ukazov MySQL (Mysqladmin) za upravljanje baz podatkov v Linuxu


mysqladmin je pripomoček za ukazno vrstico, ki je priložen strežniku MySQL in ga skrbniki baz podatkov uporabljajo za enostavno izvajanje nekaterih osnovnih nalog MySQL, kot so nastavitev korenskega gesla, spreminjanje korenskega gesla, spremljanje procesov mysql, ponovno nalaganje pravic, preverjanje stanja strežnika itd.

V tem članku smo zbrali nekaj zelo uporabnih ukazov "mysqladmin", ki jih uporabljajo skrbniki sistema/baze podatkov pri vsakodnevnem delu. Za izvajanje teh nalog mora biti v sistemu nameščen strežnik MySQL.

Če nimate nameščenega strežnika MySQL ali uporabljate starejšo različico strežnika MySQL, potem vsem priporočamo, da svojo različico namestite ali posodobite po spodnjem članku.

  1. Namestitev strežnika MySQL 5.5.28 na RHEL/CentOS/Fedora

1. Kako nastaviti root geslo MySQL?

Če imate novo namestitev strežnika MySQL, potem za povezavo s korenskim uporabnikom ni potrebno geslo. Če želite nastaviti geslo MySQL za korenskega uporabnika, uporabite naslednji ukaz.

# mysqladmin -u root password YOURNEWPASSWORD

2. Kako spremeniti root geslo MySQL?

Če želite spremeniti ali posodobiti korensko geslo MySQL, morate vnesti naslednji ukaz. Recimo na primer, da je vaše staro geslo 123456 in ga želite spremeniti z novim geslom, recimo xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. Kako preveriti, ali strežnik MySQL deluje?

Če želite ugotoviti, ali strežnik MySQL deluje in deluje, uporabite naslednji ukaz.

# mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Kako preveriti, katero različico MySQL uporabljam?

Naslednji ukaz prikazuje različico MySQL skupaj s trenutnim stanjem.

# mysqladmin -u root -p version

Enter password:
mysqladmin  Ver 8.42 Distrib 5.5.28, for Linux on i686
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version          5.5.28
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 7 days 14 min 45 sec

Threads: 2  Questions: 36002  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.059

5. Kako ugotoviti trenutno stanje strežnika MySQL?

Če želite izvedeti trenutno stanje strežnika MySQL, uporabite naslednji ukaz. Ukaz mysqladmin prikazuje stanje uptime s tekočimi nitmi in poizvedbami.

# mysqladmin -u root -ptmppassword status

Enter password:
Uptime: 606704  Threads: 2  Questions: 36003  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.059

6. Kako preveriti stanje vseh spremenljivk in vrednosti MySQL Server?

Če želite preveriti celotno stanje spremenljivk in vrednosti strežnika MySQL, vnesite naslednji ukaz. Rezultat bi bil podoben spodnjemu.

# mysqladmin -u root -p extended-status

Enter password:
+------------------------------------------+-------------+
| Variable_name                            | Value       |
+------------------------------------------+-------------+
| Aborted_clients                          | 3           |
| Aborted_connects                         | 3           |
| Binlog_cache_disk_use                    | 0           |
| Binlog_cache_use                         | 0           |
| Binlog_stmt_cache_disk_use               | 0           |
| Binlog_stmt_cache_use                    | 0           |
| Bytes_received                           | 6400357     |
| Bytes_sent                               | 2610105     |
| Com_admin_commands                       | 3           |
| Com_assign_to_keycache                   | 0           |
| Com_alter_db                             | 0           |
| Com_alter_db_upgrade                     | 0           |
| Com_alter_event                          | 0           |
| Com_alter_function                       | 0           |
| Com_alter_procedure                      | 0           |
| Com_alter_server                         | 0           |
| Com_alter_table                          | 0           |
| Com_alter_tablespace                     | 0           |
+------------------------------------------+-------------+

7. Kako videti vse spremenljivke in vrednosti strežnika MySQL?

Če si želite ogledati vse delujoče spremenljivke in vrednosti strežnika MySQL, uporabite ukaz, kot sledi.

# 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 preveriti ves delujoči proces strežnika MySQL?

Naslednji ukaz bo prikazal ves potek poizvedb v zbirki podatkov MySQL.

# mysqladmin -u root -p processlist

Enter password:
+-------+---------+-----------------+---------+---------+------+-------+------------------+
| Id    | User    | Host            | db      | Command | Time | State | Info             |
+-------+---------+-----------------+---------+---------+------+-------+------------------+
| 18001 | rsyslog | localhost:38307 | rsyslog | Sleep   | 5590 |       |                  |
| 18020 | root    | localhost       |         | Query   | 0    |       | show processlist |
+-------+---------+-----------------+---------+---------+------+-------+------------------+

9. Kako ustvariti bazo podatkov v strežniku MySQL?

Če želite ustvariti novo bazo podatkov v strežniku MySQL, uporabite ukaz, kot je prikazano spodaj.

# mysqladmin -u root -p create databasename

Enter password:
# mysql -u root -p

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18027
Server version: 5.5.28 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| databasename       |
| mysql              |
| test               |
+--------------------+
8 rows in set (0.01 sec)

mysql>

10. Kako spustiti bazo podatkov v strežnik MySQL?

Če želite spustiti bazo podatkov v strežnik MySQL, uporabite naslednji ukaz. Pozvani boste, da potrdite, pritisnite 'y'.

# mysqladmin -u root -p drop databasename

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 'databasename' database [y/N] y
Database "databasename" dropped

11. Kako znova naložiti/osvežiti privilegije MySQL?

Ukaz za ponovno nalaganje strežniku pove, naj znova naloži tabele odobritev. Ukaz za osvežitev izbriše vse tabele in znova odpre dnevniške datoteke.

# mysqladmin -u root -p reload;
# mysqladmin -u root -p refresh

12. Kako varno zaustaviti strežnik MySQL?

Za varno zaustavitev strežnika MySQL vnesite naslednji ukaz.

mysqladmin -u root -p shutdown

Enter password:

Za zagon/zaustavitev strežnika MySQL lahko uporabite tudi naslednje ukaze.

# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start

13. Nekaj uporabnih ukazov MySQL Flush

Sledi nekaj uporabnih ukazov za izpiranje z njihovim opisom.

  1. flush-hosts: iz gostiteljskega predpomnilnika izperite vse informacije o gostitelju.
  2. izpiralne tabele: izperite vse tabele.
  3. flush-niti: izperite predpomnilnik vseh niti.
  4. flush-logs: splaknite vse dnevnike z informacijami.
  5. flush-privilegiji: znova naložite tabele odobritev (enako kot ponovno nalaganje).
  6. flush-status: počisti spremenljivke stanja.

# 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 speči postopek odjemalca MySQL?

Z naslednjim ukazom identificirajte speči postopek odjemalca 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 |
+----+------+-----------+----+---------+------+-------+------------------+

Zdaj zaženite naslednji ukaz z ubijanjem in ID-jem procesa, kot je prikazano spodaj.

# mysqladmin -u root -p kill 5

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

Če želite ubiti več procesov, posredujte ID-je procesov z vejicami, kot je prikazano spodaj.

# mysqladmin -u root -p kill 5,10

15. Kako zagnati več ukazov mysqladmin skupaj?

Če bi radi skupaj izvedli več ukazov "mysqladmin", bi bil ukaz tak.

# mysqladmin  -u root -p processlist status version

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 8  | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Uptime: 3801  Threads: 1  Questions: 15  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.003
mysqladmin  Ver 8.42 Distrib 5.5.28, for Linux on i686
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version          5.5.28
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 1 hour 3 min 21 sec

Threads: 1  Questions: 15  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.003

16. Kako povezati oddaljeni strežnik mysql

Če želite povezati oddaljeni strežnik MySQL, uporabite -h (gostitelj) z naslovom IP oddaljene naprave.

# mysqladmin  -h 172.16.25.126 -u root -p

17. Kako izvršiti ukaz na oddaljenem strežniku MySQL

Recimo, da bi radi videli stanje oddaljenega strežnika MySQL, potem bi bil ukaz.

# mysqladmin  -h 172.16.25.126 -u root -p status

18. Kako zagnati/ustaviti kopiranje MySQL na pomožnem strežniku?

Če želite zagnati/ustaviti kopiranje MySQL na strežniku salve, uporabite naslednje ukaze.

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

19. Kako shraniti podatke o odpravljanju napak strežnika MySQL v dnevnike?

Strežniku sporoča, naj v datoteko dnevnika MySQL zapiše informacije o odpravljanju napak o uporabljenih zaporah, porabljenem pomnilniku in uporabi poizvedb, vključno z informacijami o načrtovalniku dogodkov.

# mysqladmin  -u root -p debug

Enter password:

20. Kako si ogledati možnosti in uporabo mysqladmina

Če želite izvedeti več možnosti in uporabo ukaza myslqadmin, uporabite ukaz za pomoč, kot je prikazano spodaj. Prikaže se seznam razpoložljivih možnosti.

# mysqladmin --help

Po najboljših močeh smo se trudili, da v ta članek vključimo skoraj vse ukaze „mysqladmin“ z njihovimi primeri. Če smo vseeno kaj zamudili, nam to sporočite s komentarji in ne pozabite deliti s prijatelji.