20 MySQL (Mysqladmin) Kommandoen fir Datebankverwaltung am Linux


mysqladmin ass e Kommandozeilen Utility deen mat MySQL Server kënnt an et gëtt vun Datebank Administrateuren benotzt fir e puer grondleeënd MySQL Aufgaben einfach auszeféieren, sou wéi Root Passwuert astellen, Root Passwuert änneren, MySQL Prozesser iwwerwaachen, Privilegien nei lueden, Serverstatus kontrolléieren etc.

An dësem Artikel hu mir e puer ganz nëtzlech 'mysqladmin' Kommandoen zesummegesat, déi vu System-/Datebankadministratoren an hirer alldeeglecher Aarbecht benotzt ginn. Dir musst MySQL Server op Ärem System installéiert hunn fir dës Aufgaben auszeféieren.

Wann Dir de MySQL Server net installéiert hutt oder Dir benotzt méi al Versioun vum MySQL Server, da empfeelen mir Iech all Är Versioun z'installéieren oder ze aktualiséieren andeems Dir eisen Artikel hei ënnen befollegt.

  1. Installatioun vum MySQL 5.5.28 Server op RHEL/CentOS/Fedora

1. Wéi setzen ech MySQL Root Passwuert?

Wann Dir frësch Installatioun vum MySQL Server hutt, da brauch et kee Passwuert fir et als Root Benotzer ze verbannen. Fir MySQL Passwuert fir Root Benotzer ze setzen, benotzt de folgende Kommando.

# mysqladmin -u root password YOURNEWPASSWORD

2. Wéi änneren ech MySQL Root Passwuert?

Wann Dir wëllt MySQL Root Passwuert änneren oder aktualiséieren, da musst Dir de folgende Kommando tippen. Zum Beispill, sot Äert aalt Passwuert ass 123456 an Dir wëllt et mam neie Passwuert änneren, sot xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. Wéi kontrolléieren MySQL Server leeft?

Fir erauszefannen ob MySQL Server op a leeft, benotzt de folgende Kommando.

# mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Wéi kontrolléiert ech wéi eng MySQL Versioun ech lafen?

De folgende Kommando weist d'MySQL Versioun zesumme mam aktuellen lafende Status.

# 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. Wéi fannt Dir den aktuelle Status vum MySQL Server?

Fir den aktuelle Status vum MySQL Server erauszefannen, benotzt de folgende Kommando. De mysqladmin Kommando weist de Status vun der Uptime mat Lafen Threads an Ufroen.

# 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. Wéi kontrolléiert de Status vun all MySQL Server Variablen a Wäerter?

Fir all de lafende Status vu MySQL Server Variablen a Wäerter ze kontrolléieren, gitt de folgende Kommando. D'Ausgab wier ähnlech wéi hei drënner.

# 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. Wéi all MySQL Server Variablen a Wäerter ze gesinn?

Fir all déi lafend Variabelen a Wäerter vum MySQL Server ze gesinn, benotzt de Kommando wéi follegt.

# 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. Wéi all Lafen Prozess vun MySQL Server ze kontrolléieren?

De folgende Kommando weist all de lafende Prozess vu MySQL Datebank Ufroen.

# 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. Wéi eng Datebank am MySQL Server erstellen?

Fir eng nei Datebank am MySQL Server ze kreéieren, benotzt de Kommando wéi hei ënnendrënner.

# 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. Wéi falen ech eng Datebank am MySQL Server?

Fir eng Datebank am MySQL Server ze falen, benotzt de folgende Kommando. Dir wäert gefrot ginn ze bestätegen Press '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. Wéi nei lueden/erfrëschen MySQL Privilegien?

De Reload Kommando seet dem Server fir d'Bewëllegungstabellen nei ze lueden. De Refresh Kommando spült all Dëscher a mécht d'Logdateien nei op.

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

12. Wéi de MySQL Server Sécher auszeschalten?

Fir de MySQL Server sécher auszeschalten, gitt de folgende Kommando.

mysqladmin -u root -p shutdown

Enter password:

Dir kënnt och déi folgend Kommandoen benotzen fir MySQL Server ze starten/ze stoppen.

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

13. Puer nëtzlech MySQL Flush Kommandoen

Folgend sinn e puer nëtzlech Spullbefehle mat hirer Beschreiwung.

  1. flush-hosts: Spull all Hostinformatioun vum Host-Cache.
  2. Flush-Tables: Spull all Dëscher.
  3. Flush-Threads: Spull all Threads Cache.
  4. Flush-Logbicher: Spull all Informatiounsprotokoller.
  5. Flush-Privilegien: Lued d'Grondtabellen nei (selwecht wéi d'Reload).
  6. flush-status: Statusvariablen läschen.

# 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. Wéi Killing MySQL Client Prozess ëmzebréngen?

Benotzt de folgende Kommando fir de schlofen MySQL Client Prozess z'identifizéieren.

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

Elo lafen de folgende Kommando mat Kill a Prozess ID wéi hei ënnendrënner.

# mysqladmin -u root -p kill 5

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

Wann Dir gären e puer Prozesser ëmbréngen, da passéiert d'Prozess ID's mat Komma getrennt wéi hei ënnendrënner.

# mysqladmin -u root -p kill 5,10

15. Wéi lafe verschidde mysqladmin Kommandoen zesummen?

Wann Dir e puer 'mysqladmin'Kommandoen zesummen ausféiere wëllt, da wier de Kommando esou.

# 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. Wéi Connect Remote mysql Server

Fir Remote MySQL Server ze verbannen, benotzt den -h (Host) mat IP Adress vun der Remote Maschinn.

# mysqladmin  -h 172.16.25.126 -u root -p

17. Wéi Dir Kommando op Remote MySQL Server ausféiert

Loosst eis soen datt Dir de Status vum Remote MySQL Server wëllt gesinn, da wier de Kommando.

# mysqladmin  -h 172.16.25.126 -u root -p status

18. Wéi starten/stoppen MySQL Replikatioun op engem Sklave Server?

Fir MySQL Replikatioun op Salve Server ze starten/stoppen, benotzt déi folgend Kommandoen.

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

19. Wéi Buttek MySQL Server Debug Informatiounen zu Logbicher?

Et seet dem Server fir Debug-Informatioun iwwer Spären am Gebrauch ze schreiwen, benotzt Erënnerung an Ufroverbrauch op d'MySQL Logdatei inklusiv Informatioun iwwer Eventplaner.

# mysqladmin  -u root -p debug

Enter password:

20. Wéi gesinn ech mysqladmin Optiounen a Gebrauch

Fir méi Optiounen a Gebrauch vum myslqadmin Kommando erauszefannen, benotzt den Hëllefskommando wéi hei ënnendrënner. Et wäert eng Lëscht vun verfügbaren Optiounen weisen.

# mysqladmin --help

Mir hunn eist Bescht probéiert fir bal all 'mysqladmin'Befehle mat hiren Beispiller an dësem Artikel opzehuelen, Wa mir nach ëmmer eppes verpasst hunn, loosst eis w.e.g. iwwer Kommentaren wëssen a vergiesst net mat Äre Frënn ze deelen.