MySQL manager
Kommandozeilenprogramm zur Verwaltung von MySQL-Datenbanken und -Benutzern (in PHP).
Dieses Werkzeug ermöglicht das Verwalten von Benutzern, Datenbanken und Zugriffsberechtigungen auf einem MySQL-Datenbankserver von der Kommandozeile. Du brauchst keine grafische Benutzerschnittstelle wie MySQL Workbench oder phpMyAdmin für diese einfache Aufgabe. Das ist besonders interessant für automatisierte Routinen wie das Einrichten einer Anwendung oder als Backend-Skript für eine Web-Oberfläche, um Benutzer ihre eigenen Datenbanken verwalten zu lassen. Dieses Skript ist zusammen mit einem kleinen Sicherheits-Wrapper im Kunden-Login bei dotforward Webhosting im Einsatz. Hier sind ein paar Anwendungsbeispiele:
- Neue Datenbank „db1“ erstellen:
mysqlmgr add database db1
- Neuen Benutzer „alice“ anlegen, Kennwort interaktiv abfragen und Lesezugriff auf die erstellte Datenbank gewähren:
mysqlmgr -a add user alice
mysqlmgr allow user alice all hosts database db1 read - Neuen Benutzer „bob“ mit dem Kennwort als Argument anlegen:
mysqlmgr add user bob password s3cr3t
- „bob“ von allen Hosts aus Schreib- und Definitionszugriff auf die erstellte Datenbank gewähren:
mysqlmgr allow user bob all hosts database db1 read write define
- Alle Benutzer anzeigen:
mysqlmgr list users
- Alle Zugriffsrechte für Benutzer „bob“ anzeigen:
mysqlmgr show user bob
- Benutzer „bob“ in „chris“ umbenennen:
mysqlmgr rename user bob to chris
- „chris“ verbieten, neue Daten zu seiner Datenbank hinzuzufügen:
mysqlmgr deny user chris all hosts database db1 insert update
- MySQL-Version des Servers db7.company.com anzeigen:
mysqlmgr -h db7.company.com version
Du kannst Benutzerkonten für unterschiedliche Hostnamen hinzufügen und bearbeiten. Wenn keiner angegeben ist, wird der Host „%“ verwendet, was „Verbindungen von allen Rechnern“ bedeutet. Wenn du ein Benutzerkonto bearbeitest, musst du denselben Hostnamen wie bei der Erstellung angeben. (Stell dir Benutzer- und Hostnamen als ein Paar vor, das das Benutzerkonto beschreibt.) Um alle Benutzerkonten mit einem bestimmten Benutzernamen zu verändern (also für Verbindungen von allen möglichen Rechnern), kannst du „all hosts
“ angeben, was den Vorgang für alle vorhandenen Benutzerkonten durchführt. Wenn dich verschiedene Hostnamen nicht interessieren, kannst du diese Angabe immer weglassen.
Diese Verwaltungsbefehle werden über eine Superuser-Verbindung zum MySQL-Server gesendet. Das ist normalerweise der Benutzer „root“. Um das root-Kennwort, und den Servernamen (und Port) falls nicht-lokal, nicht immer eingeben zu müssen, kannst du diese Vorgaben am Anfang der Programmdatei eintragen. Die Vorgabe-Verbindungsparameter (außer dem Kennwort) werden im Hilfetext angezeigt.
Kompatibilität:
Download
mysqlmgr.zip6,5 KiBKomprimierte Programmdatei
Hinweise zur Verwendung
Diese Anwendung benötigt zur Ausführung einen PHP-Commandline-Interpreter (CLI) ab Version 5.0, mit MySQL-Unterstützung, im Pfad /usr/bin/php. Mit leichten Anpassungen bzgl. der ersten Zeile (#!
) sollte das Programm auf jeder von PHP unterstützten Plattform, also auch Windows, laufen.
Offene Punkte
- Revoke all access rights on a deleted database (and table)
- Support table-level access rights
- Test and if necessary replace commandline arguments parser code (better version included in the archive)
Änderungen
Lizenz und Nutzungsbedingungen
Diese Software wird unter den Bedingungen der vereinfachten BSD-Lizenz veröffentlicht. Die genauen Lizenzbedingungen befinden sich im Download.
Statistische Daten
- Erstellt am 2006-01-05, aktualisiert am 2008-07-19.
- Ca. 920 Codezeilen, geschätzte Entwicklungskosten: 920 - 3 700 €