Das Kommando »mysqladmin« ist in MySQL die Zentrale für die Verwaltung des MySQL-Daemons (»mysqld«). Es ermöglicht unter anderem das Anlegen und Löschen von Datenbanken, es beendet einzelne MySQL-Threads und stoppt und startet den Server. Daneben liefert es aber auch die Werte zahlreicher Performance-Counter. Dazu dient der Aufruf »mysqladmin ‑u root ‑p password status«. Er gibt einen kurzen Überblick über den aktuellen Systemstatus:
shell> mysqladmin ‑u root ‑p password status Uptime: 8116345 Threads: 143 Questions: 431413136 Slow queries: 116 Opens: 2080649 Flush tables: 1 Open tables: 64 Queries per second avg: 53.154
Zwar ist die Ausgabe nicht sonderlich detailliert, jedoch bietet sie den kürzesten Überblick. Auch ein Blick in die Prozessliste ist so möglich.
mysqladmin ‑u root ‑p password processlist status
oder alternativ auf der SQL-Kommandozeile mit »SHOW FULL PROCESSLIST«. Das Ergebnis entspricht Listing 1.
Listing 1: »processlist status«
shell> mysqladmin ‑u root ‑p processlist status ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑---------------- | Id | User | Host | db | Command | Time | State | Info | ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ | 57 | root | localhost | | Query | 0 | | show processlist | ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑---------------- Uptime: 8116345 Threads: 1 Questions: 39487 Slow queries: 0 Opens: 541 Flush tables: 1 Open tables: 19 Queries per second avg: 0.0268
Eine ganze Flut von Werten liefert:
mysqladmin ‑u root ‑p password extended‑status
oder alternativ wieder in einem SQL-Client: »SHOW GLOBAL STATUS«. Alle ausgegebenen Werte beziehen sich auf den Zeitraum seit dem letzten Start des Servers. Um einen Überblick zu gewinnen, ist es ratsam, die Ausgabe sektionsweise zu durchforsten.
Die Com-Sektion füllt einen großen Teil des Statusberichts. Sie gibt vor allem Auskunft über die vom MySQL-Server verarbeiteten Operationen. Es erleichtert die Interpretation, wenn man einzelne Werte zueinander ins Verhältnis setzt:
Read/Write-Ratio:
(Com_select + Qcache_hits)/(Com_insert + Com_update+Com_delete+Com_replace)
Created_tmp_tables und Created_tmp_disk_tables: Diese Werte geben Auskunft über die vom Server erstellten temporären Tabellen. Da das Anlegen von temporären Tabellen auf dem Server eher teuer ist, empfiehlt es sich, bei einer erhöhten Anzahl besser den Parameter »tmp_table_size« zu erhöhen.
Temp-Table-Ratio
created_disk_tmp_tables * 100 / created_tmp_tables