Website-Suche

20 mysqladmin-Befehle für die MYSQL/MariaDB-Verwaltung


mysqladmin ist ein Befehlszeilen-Datenbankverwaltungsprogramm, das mit dem MySQL/MariaDB-Server geliefert wird und von Datenbankadministratoren für einige grundlegende Vorgänge verwendet wird >MySQL-Aufgaben wie das Festlegen des Root-Passworts, das Ändern des Root-Passworts, das Überwachen von MySQL-Prozessen, das Neuladen von Berechtigungen, das Erstellen/Löschen von Datenbanken, das Überprüfen des Serverstatus, das Anzeigen von Nutzungsstatistiken, das Beenden laufender Abfragen usw.

Der Befehl zur Verwendung von mysqladmin und die allgemeine Syntax lautet:

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

Wenn Sie keinen MySQL/MariaDB-Server installiert haben oder eine ältere Version des MySQL-Servers verwenden, empfehlen wir Ihnen, die MySQL-Version mit zu installieren oder zu aktualisieren folgende Artikel:

  • So installieren Sie MySQL auf RHEL-basierten Distributionen
  • So installieren Sie MariaDB in RHEL- und Debian-Systemen

In diesem Artikel haben wir einige sehr nützliche „mysqladmin“-Befehle zusammengestellt, die von System-/Datenbankadministratoren bei ihrer täglichen Arbeit verwendet werden. Um diese Aufgaben ausführen zu können, muss auf Ihrem System ein MySQL/MariaDB-Server installiert sein.

1. So legen Sie das MySQL-Root-Passwort fest

Wenn Sie eine Neuinstallation des MySQL/MariaDB-Servers haben, ist kein Passwort erforderlich, um sich als Root-Benutzer zu verbinden. Um das MySQL-Passwort für den Root-Benutzer festzulegen, verwenden Sie den folgenden Befehl.

mysqladmin -u root password YOURNEWPASSWORD

Warnung: Das Festlegen eines neuen MYSQL-Passworts mit mysqladmin sollte als anfällig angesehen werden. Auf einigen Systemen wird Ihr Passwort für Systemstatusprogramme wie den ps-Befehl sichtbar, der von anderen Benutzern ausgeführt werden kann, um den Status aktiver Prozesse auf einem System zu erfahren.

2. So ändern Sie das MySQL-Root-Passwort

Wenn Sie das MySQL-Root-Passwort ändern oder aktualisieren möchten, müssen Sie den folgenden Befehl eingeben. Angenommen, Ihr altes Passwort lautet 123456 und Sie möchten es durch ein neues Passwort, beispielsweise xyz123, ändern.

mysqladmin -u root -p123456 password 'xyz123'

3. So überprüfen Sie den Status des MySQL-Servers

Um herauszufinden, ob der MySQL-Server aktiv ist, verwenden Sie den folgenden Befehl.

mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. So überprüfen Sie, welche MySQL-Version ich verwende

Der folgende Befehl zeigt die MySQL-Version zusammen mit dem aktuellen Ausführungsstatus an.

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. So ermitteln Sie den aktuellen Status des MySQL-Servers

Um den aktuellen Status des MySQL-Servers herauszufinden, verwenden Sie den folgenden Befehl. Der Befehl mysqladmin zeigt den Status der Verfügbarkeit bei laufenden Threads und Abfragen an.

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. So überprüfen Sie MySQL-Statusvariablen und ihre Werte

Geben Sie den folgenden Befehl ein, um den gesamten Ausführungsstatus von MySQL-Servervariablen und -Werten zu überprüfen. Die Ausgabe würde der folgenden ähneln.

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. Wie werden alle Variablen und Werte des MySQL-Servers angezeigt?

Um alle laufenden Variablen und Werte des MySQL-Servers anzuzeigen, verwenden Sie den Befehl wie folgt.

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. So überprüfen Sie aktive Threads von MySQL Server

Der folgende Befehl zeigt alle laufenden Prozesse von MySQL-Datenbankabfragen an.

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. So erstellen Sie eine Datenbank in MySQL Server

Um eine neue Datenbank auf dem MySQL-Server zu erstellen, verwenden Sie den unten gezeigten Befehl.

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. So löschen Sie eine Datenbank in MySQL Server

Um eine Datenbank auf dem MySQL-Server abzulegen, verwenden Sie den folgenden Befehl. Sie werden aufgefordert, die Eingabe durch Drücken von „y“ zu bestätigen.

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. Wie kann ich MySQL-Berechtigungen neu laden/aktualisieren?

Der Befehl reload weist den Server an, die Grant-Tabellen neu zu laden, und der Befehl refresh leert alle Tabellen und öffnet die Protokolldateien erneut.

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

12. So fahren Sie MySQL Server sicher herunter

Um den MySQL-Server sicher herunterzufahren, geben Sie den folgenden Befehl ein.

mysqladmin -u root -p shutdown

Enter password:

Sie können den MySQL-Server auch mit den folgenden Befehlen starten/stoppen.

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

13. Einige nützliche MySQL-Flush-Befehle

Im Folgenden finden Sie einige nützliche Spülbefehle mit ihrer Beschreibung.

  • flush-hosts: Alle Hostinformationen aus dem Host-Cache leeren.
  • flush-tables: Alle Tabellen leeren.
  • flush-threads: Leeren Sie den Cache aller Threads.
  • flush-logs: Alle Informationsprotokolle leeren.
  • flush-privileges: Laden Sie die Grant-Tabellen neu (dasselbe wie beim Neuladen).
  • flush-status: Statusvariablen löschen.

Schauen wir uns diese Befehle an.

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. Wie kann ich den schlafenden MySQL-Clientprozess beenden?

Verwenden Sie den folgenden Befehl, um den schlafenden MySQL-Clientprozess zu identifizieren.

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

Führen Sie nun den folgenden Befehl mit kill und Prozess-ID aus, wie unten gezeigt.

mysqladmin -u root -p kill 5

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

Wenn Sie mehrere Prozesse beenden möchten, übergeben Sie die Prozess-IDs mit Kommas getrennt, wie unten gezeigt.

mysqladmin -u root -p kill 5,10

15. So führen Sie mehrere mysqladmin-Befehle gleichzeitig aus

Wenn Sie mehrere „mysqladmin“-Befehle gleichzeitig ausführen möchten, dann würde der Befehl so aussehen.

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. So verbinden Sie einen Remote-MySQL-Server

Um eine Verbindung zum Remote-MySQL-Server herzustellen, verwenden Sie -h (host)  mit der IP-Adresse des Remote-Servers Maschine.

mysqladmin -h 172.16.25.126 -u root -p

17. So führen Sie einen Befehl auf einem Remote-MySQL-Server aus

Nehmen wir an, Sie möchten den Status des Remote-MySQL-Servers sehen, dann lautet der Befehl.

mysqladmin -h 172.16.25.126 -u root -p status

18. So starten/stoppen Sie die MySQL-Replikation auf einem Slave-Server

Verwenden Sie die folgenden Befehle, um die MySQL-Replikation auf dem Slave-Server zu starten/stoppen.

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

19. So speichern Sie MySQL-Server-Debug-Informationen in Protokollen

Es weist den Server an, Debuginformationen über verwendete Sperren, verwendeten Speicher und Abfragenutzung in die MySQL-Protokolldatei zu schreiben, einschließlich Informationen über den Ereignisplaner.

mysqladmin  -u root -p debug

Enter password:

20. So zeigen Sie mysqladmin-Optionen und -Nutzung an

Um weitere Optionen und die Verwendung des Befehls myslqadmin herauszufinden, verwenden Sie den Hilfebefehl wie unten gezeigt. Es wird eine Liste der verfügbaren Optionen angezeigt.

mysqladmin --help

Wir haben unser Bestes versucht, fast alle „mysqladmin“-Befehle mit ihren Beispielen in diesen Artikel aufzunehmen. Wenn wir dennoch etwas übersehen haben, lassen Sie es uns bitte in den Kommentaren wissen und lassen Sie es lieber sein Vergessen Sie, es mit Ihren Freunden zu teilen.