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.