Auf dieser Seite die MySQL-Datenbank und das Webmin-Modul, das es verwaltet, werden erklärt, und die Schritte zum Erstellen von Datenbanken, Tabellen und Benutzern werden aufgelistet.
- Siehe Einführung in MySQL
Mit diesem Modul können Sie Datenbanken, Tabellen und Felder erstellen, Datensätze bearbeiten und MySQL-Benutzer über eine einfache Webschnittstelle verwalten. Sein Symbol finden Sie unter der Kategorie Server, und wenn Sie darauf klicken, zeigt die Hauptseite des Moduls eine Tabelle mit Symbolen für vorhandene Datenbanken an, wie im folgenden Screenshot gezeigt (vorausgesetzt, MySQL ist installiert und läuft).
Die Hauptseite des MySQL-Datenbankservermoduls, direkt nach der Installation von mariadb-server und dem Ausführen des empfohlenen /usr/bin/mysql_secure_installation um Sicherheitslücken zu beseitigenWenn der Datenbankserver läuft, aber Webmin nicht das richtige Passwort für die Anmeldung kennt, zeigt die Hauptseite stattdessen ein *MySQL Login*-Formular an. Sie sollten den Administrator-Benutzernamen in das Feld Login' (normalerweise root) und das entsprechende Passwort in das Feld eingeben Passwort Feld. Obwohl es möglich ist, den Benutzernamen und das Passwort für jeden MySQL-Benutzer einzugeben, können Nicht-Root-Benutzer keine Aufgaben wie das Erstellen von Datenbanken und Tabellen ausführen - und das Modul kann dies auch nicht.
Standardmäßig ist das Modul so konfiguriert, dass es sich mit dem Benutzernamen und dem Passwort anmeldet, die das MySQL-Paket für Ihre Distribution standardmäßig verwendet. Nur wenn Sie es manuell oder über Webmin geändert haben, wird die MySQL-Anmeldung Seite erscheinen.
Wenn der Datenbankserver überhaupt nicht auf Ihrem System installiert ist, zeigt die Hauptseite eine Fehlermeldung wie *Das MySQL-Client-Programm /usr/bin/mysql an wurde auf Ihrem System nicht gefunden*. Suchen Sie auf Ihrer Distributions-CD oder Website nach allen MySQL-bezogenen Paketen und installieren Sie sie mit dem Softwarepaketmodul. Oft gibt es mehrere mit Namen wie mysql, mysql-client, mysql-server und mysql-devel. Jede Linux-Distribution scheint einen anderen Satz von Paketen zu verwenden, stellen Sie also sicher, dass Sie sie alle installieren.
Unter FreeBSD und NetBSD erwartet das Modul die Installation des MySQL-Pakets für diese Betriebssysteme. Bei anderen Unix-Varianten wird davon ausgegangen, dass Sie MySQL aus der Quellcode-Distribution kompiliert und installiert haben, die unter http://www.mysql.com/ verfügbar ist.
Wenn sich das Modul beschwert, dass es das mysql-Programm nicht finden kann, obwohl Sie es installiert haben, müssen Sie die verwendeten Pfade anpassen. Dies kann passieren, wenn Sie es von der Quelle installiert haben, anstatt das Paket zu verwenden, das mit Ihrer Linux-Distribution geliefert wird.
Das MySQL-Modul verwendet SQL-Befehle, um Aktionen wie das Erstellen von Tabellen, das Hinzufügen von Feldern und das Bearbeiten von Datensätzen auszuführen. Um diese Befehle auszuführen, muss Webmin eine Verbindung zum Datenbankserver herstellen, was auf zwei Arten erfolgen kann. Es kann entweder den mysql-Befehl mit den richtigen Parametern ausführen und seine Ausgabe analysieren oder die Perl-DBI-Bibliothek verwenden, um eine direkte Verbindung herzustellen.
Die erstere Methode ist immer verfügbar, da der mysql-Befehl immer installiert wird, wenn der Datenbankserver installiert ist. Es ist jedoch nicht absolut zuverlässig, da bestimmte Arten von Tabellendaten eine Ausgabe erzeugen, die nicht immer analysiert werden kann. Aus diesem Grund sollten Sie die Perl-Module DBI und DBD::mysql installieren. Wenn eines fehlt, wird unten auf der Hauptseite eine Meldung angezeigt, in der Sie aufgefordert werden, eines oder beide zu installieren, indem Sie auf einen Link klicken. Dadurch gelangen Sie zu einer Seite im Perl-Modulmodul (das in Kapitel 27 behandelt wird), wo DBI und/oder DBD::mysql für Sie heruntergeladen und installiert werden.
Inhalt
Erstellen einer neuen Datenbank
Die DatenbankbearbeitungsseiteWenn MySQL zum ersten Mal installiert wird, wird eine Datenbank namens mysql erstellt, die Authentifizierungs- und Zugriffssteuerungs-bezogene Tabellen enthält. Wenn Sie Ihre eigenen Daten speichern möchten, erstellen Sie am besten Ihre eigene Datenbank, um Tabellen hinzuzufügen, anstatt sich mit der MySQL-Datenbank herumzuschlagen. Gehen Sie dazu wie folgt vor:
- Klicken Sie auf der Hauptseite des Moduls auf Neue Datenbank erstellen Link über oder unter der Tabelle vorhandener Datenbanksymbole. Sie gelangen zu einem Formular zur Eingabe der Daten der neuen Datenbank.
- Geben Sie einen Namen für die neue Datenbank in das Feld Datenbankname ein Feld. Namen sollten nur Buchstaben und Zahlen und keine Leerzeichen enthalten.
- Es ist möglich, das Formular zu verwenden, um eine Ausgangstabelle für die neue Datenbank zu erstellen. Sie können jedoch genauso einfach eine neue Tabelle hinzufügen, nachdem sie erstellt wurde, wie die Neue Tabelle erstellen Abschnitt erklärt.
- Klicken Sie auf Erstellen Schaltfläche am unteren Rand des Formulars, um die Datenbank zu erstellen. Sie kehren zur Hauptseite des Moduls zurück, die jetzt ein neues Datenbanksymbol enthält.
Eine neue Tabelle erstellen
Die TabellenbearbeitungsseiteTabellen können jederzeit zu neu erstellten oder bestehenden Datenbanken hinzugefügt werden. Jede Tabelle hat ein oder mehrere Felder, von denen jedes einen Typ (z. B. Ganzzahl, Dezimalzahl oder Text) und eine Größe hat. Felder können auch indiziert werden, um SQL-Abfragen zu beschleunigen, die Datensätze basierend auf den Werten in dieser Spalte suchen. Gehen Sie wie folgt vor, um einer Datenbank eine neue Tabelle hinzuzufügen:
- Klicken Sie auf der Hauptseite des Moduls auf das Datenbanksymbol. Dadurch gelangen Sie zu der im folgenden Screenshot gezeigten Datenbankbearbeitungsseite, die ein Symbol für jede vorhandene Tabelle und Schaltflächen zum Ausführen verschiedener Aktionen enthält.
- Geben Sie die Anzahl der Felder, die Ihre neue Tabelle haben soll, in die Felder ein Textfeld neben Neue Tabelle erstellen Schaltfläche und klicken Sie dann auf die Schaltfläche. Dadurch wird ein Formular zur Eingabe der Details der neuen Tabelle und ihrer Anfangsfelder angezeigt.
- Geben Sie einen Namen für diese Tabelle in das Feld Tabellenname ein Feld. Es sollte aus Buchstaben, Zahlen und dem Zeichen _ bestehen und innerhalb dieser Datenbank eindeutig sein.
- Um ihre Felder aus einer bestehenden Tabelle zu kopieren, wählen Sie sie aus Felder aus Tabelle kopieren aus Speisekarte. Alle zusätzlichen Felder, die Sie unten in die Anfangsfelder eingeben Tabelle wird nach der kopierten hinzugefügt.
- Der Tabellentyp Menü kann verwendet werden, um einen anderen Speichertyp für diese Tabelle auszuwählen. Die am häufigsten verwendeten Typen sind:
- MyISAM
- Der Standardtabellentyp für MySQL-Versionen 3.23 und höher. Auf Betriebssystemen, die große Dateien unterstützen, können Tabellen dieser Größe ungefähr 2.000.000.000 GB groß sein. Tabellendateien sind betriebssystemunabhängig, Schlüssel können 500 Byte lang sein und 32 Schlüsselspalten können in einer einzigen Tabelle verwendet werden.
- InnoDB
- Ein überlegener Tabellentyp, der Transaktionen und riesige Datenmengen unterstützt und viel schneller läuft als MyISAM.
- ISAM
- Der alte Standard-MySQL-Tabellentyp, jetzt ersetzt durch MyISAM. Eine ISAM-Tabellendatei darf nur 4 GB groß sein, Schlüssel dürfen nur 256 Byte lang sein und eine Tabelle darf höchstens 16 Schlüsselspalten haben.
- Haufen
- Die Daten in Heap-Tabellen werden nur im Arbeitsspeicher gespeichert. Das macht sie sehr schnell, aber nur für temporäre Daten nützlich, da der Inhalt der Tabelle verloren geht, wenn MySQL heruntergefahren wird. Wenn Sie Standard auswählen Option oder wenn der gewählte Typ von MySQL auf Ihrem System nicht unterstützt wird, wird der MyISAM-Typ verwendet.
- Die Anfangsfelder Abschnitt dient der Eingabe der Details der tatsächlichen Felder, die Ihre neue Tabelle enthalten wird. Jede Zeile, die Sie ausfüllen, definiert ein einzelnes Feld, basierend auf den Werten, die Sie unter jeder der folgenden Überschriften eingeben :
- Feldname
- Ein eindeutiger Name für dieses Feld, der aus Buchstaben, Ziffern und dem Zeichen _ bestehen sollte. Es ist keine gute Idee, einen Namen zu wählen, der mit einem reservierten SQL-Wort identisch ist, wie zum Beispiel select, update oder index.
- Datentyp
- Aus diesem Menü müssen Sie den Datentyp in diesem Feld auswählen. Die gebräuchlichsten sind varchar (für Textzeichenfolgen mit variabler Länge) und int (für ganze Zahlen). Siehe Feldtypen Abschnitt unten für eine vollständige Liste der unterstützten Typen.
- Typbreite
- Die Größe der Daten, die in diesem Feld gespeichert werden können. Dies hat je nach Typ unterschiedliche Bedeutungen - bei einem varchar-Feld ist die Breite beispielsweise die maximale Textlänge, bei einem int-Feld jedoch die maximale Anzahl von Dezimalstellen. Noch einmal die Feldtypen Abschnitt dieses Kapitels befasst sich ausführlicher mit Breiten. Wenn Sie dieses Textfeld für ein Feld leer lassen, wird die Standardbreite verwendet. Viele Typen (z. B. Blob, Text und Datum) haben feste Größen und sollten daher überhaupt keine Breite eingeben.
- Primärschlüssel?
- Wenn dieses Kontrollkästchen aktiviert ist, wird dieses Feld Teil des Primärschlüssels für die Tabelle. Schlüsselfelder werden von MySQL indiziert, sodass SQL-Anweisungen, die sich in der where-Klausel auf alle beziehen, schneller ausgeführt werden. Es dürfen jedoch keine zwei Datensätze dieselben Werte in ihren Primärschlüsselfeldern haben. Traditionell ist das erste Feld in einer Tabelle der Schlüssel. Nicht alle Typen können verwendet werden – normalerweise ist ein Primärschlüsselfeld ein int oder varchar. Alle Tabellen sollten einen Primärschlüssel haben, damit Daten darin in Webmin bearbeitet werden können.
- Autoinkrement?
- Wenn diese Option für ein numerisches Feld aktiviert ist, fügt MySQL automatisch eine Zahl ein, die höher als das Maximum in der Tabelle ist, wenn ein Datensatz hinzugefügt wird (es sei denn, die Datensatzerstellungsanweisung gibt explizit einen Wert an). Dies kann für die automatische Generierung von ID-Nummern nützlich sein und wird häufig für Primärschlüsselfelder aktiviert.
- Wenn Sie alle Felder ausgefüllt haben, klicken Sie auf Erstellen Schaltfläche am unteren Rand des Formulars. Wenn die Tabelle aus irgendeinem Grund nicht erstellt werden kann, wird die SQL-Fehlermeldung von MySQL angezeigt. Dies kann vorkommen, wenn ein Feldname ungültig ist oder wenn eine Typbreite für einen Typ keinen Sinn macht. Verwenden Sie in diesem Fall die Zurück-Schaltfläche Ihres Browsers, um zum Formular zurückzukehren und die Probleme zu beheben. Sobald die Tabelle erfolgreich erstellt wurde, kehren Sie zur Datenbankbearbeitungsseite zurück, die nun ein neues Tabellensymbol enthält.
Hinzufügen und Bearbeiten von Feldern
Feld ändernEiner Tabelle können neue Felder hinzugefügt und bestehende geändert oder gelöscht werden. Das Hinzufügen eines Felds stellt kein Risiko für vorhandene Daten dar, aber das Ändern des Typs oder der Größe eines Felds kann dazu führen, dass die darin enthaltenen Daten verloren gehen, und das Löschen eines Felds führt dazu, dass es verloren geht. Gehen Sie wie folgt vor, um ein neues Feld hinzuzufügen:
- Klicken Sie auf der Hauptseite des Moduls auf das Symbol für die Datenbank, die die Tabelle enthält, und dann auf das Tabellensymbol. Dadurch wird die im Bild unten gezeigte Seite aufgerufen, die die Namen, Typen und andere Details aller vorhandenen Felder auflistet.
- Wählen Sie den Typ für das neue Feld aus dem Menü neben der Schaltfläche *Feldtyp hinzufügen*, bevor Sie darauf klicken. Siehe Feldtypen Abschnitt unten für eine Liste der Typen und ihrer Zwecke.
- Geben Sie im angezeigten Formular zum Hinzufügen von Feldern einen eindeutigen Namen für dieses Feld in das Feld Feldname ein Textfeld. Keine zwei Felder in derselben Tabelle dürfen denselben Namen haben, und es dürfen nur Buchstaben, Zahlen und _ verwendet werden.
- Wenn Sie ein char- oder varchar-Feld hinzufügen, müssen Sie eine maximale Anzahl von Zeichen in die Typbreite eingeben Textfeld. Wenn Sie ein Float-, Double- oder Dezimalfeld hinzufügen, müssen Sie zwei Zahlen in das Feld Breite und Dezimalstellen eingeben Textfelder. Die erste ist die Gesamtzahl der Ziffern, die ein Wert enthalten kann, und die zweite die Anzahl der Ziffern rechts vom Dezimalkomma. Bei negativen Zahlen zählt das Minuszeichen als Ziffer - also ein Feld mit Breite und Dezimalstellen Auf 5 und 2 eingestellt, können Zahlen von 99,99 bis 999,99 gespeichert werden. Für Datums-, Datums-, Zeit-, Blob- und Textfelder gibt es überhaupt keine Breiteneingabe, da diese Typen feste oder unbegrenzte Größen haben. Für Enum- und Set-Felder müssen Sie eine Liste möglicher Werte in das Textfeld *Enumerated values* eingeben. Für alle anderen Feldtypen (zB int) die Typbreite kann entweder auf Standard gesetzt werden Damit das Feld die Standardgröße für den gewählten Typ verwendet, kann eine Breite eingegeben werden. Bei int-Feldern ist dies die maximale Anzahl von Ziffern, die ein Wert in diesem Feld enthalten kann.
- Bei ganzzahligen Feldtypen (wie int und smallint) können Sie mit den Optionsfeldern *Typoptionen* auswählen, ob die Werte in diesem Feld links mit Nullen aufgefüllt werden sollen (das Mit Nullen füllen Option), oder ob sie unsigniert sein sollen (die Unsigned Möglichkeit). Wenn Keine ausgewählt ist, werden Werte signiert und es werden keine zusätzlichen Nullen hinzugefügt. Für Float-, Double- und Dezimalfelder dieselben Typoptionen werden ebenfalls angezeigt, jedoch ohne Unsigned Möglichkeit. Felder dieser Art sind immer signiert. Für char- und varchar-Felder haben die Typoptionen zwei verschiedene Auswahlmöglichkeiten - Groß-/Kleinschreibung beachten und Groß-/Kleinschreibung beachten . Wenn insensitiv ausgewählt ist, ignorieren SQL-Abfragen, die mit Werten in diesem Feld übereinstimmen, Unterschiede zwischen Groß- und Kleinschreibung.
- Um zu verhindern, dass SQL-NULL-Werte in dieses Feld eingefügt werden, ändern Sie die Einstellung Allow null? Eingabe auf Nein . Dies kann nützlich sein, wenn jeder Datensatz einen Wert für dieses Feld haben soll, und muss ausgewählt werden, wenn dieses Feld Teil des Primärschlüssels für die Tabelle sein soll.
- Um einen Standardwert einzufügen, wenn ein Datensatz zur Tabelle hinzugefügt wird und kein Wert für dieses Feld angegeben ist, füllen Sie den Standardwert aus Textfeld. Der Wert muss natürlich vom richtigen Typ für das Feld sein. Wenn Ihre Tabelle bereits einige Zeilen enthält, werden ihre Werte für dieses Feld auf das gesetzt, was Sie hier eingeben, wenn das neue Feld hinzugefügt wird.
- Wenn dieses Feld der Schlüssel für die Tabelle sein soll, ändern Sie den Teil des Primärschlüssels? Auswahl auf Ja . Mehr als ein Feld ist Teil des Schlüssels, in diesem Fall ist es eine Kombination aus allen.
- Klicken Sie abschließend auf Erstellen . Wenn Ihre Eingaben fehlerfrei sind, wird das Feld zur Tabelle hinzugefügt und Sie kehren zur Tabellenbearbeitungsseite zurück.
Neu erstellte oder vorhandene Felder können ebenfalls bearbeitet werden, indem Sie die folgenden Schritte ausführen. Wenn Sie jedoch den Typ eines Felds ändern oder seine Größe verringern, kann dies zu Datenverlust führen, wenn die alten Werte nicht mit dem neuen Typ kompatibel sind. Beispielsweise führt das Konvertieren eines varchar in ein int dazu, dass alle nicht numerischen Werte verloren gehen. Das Konvertieren eines int in ein varchar ist jedoch im Allgemeinen sicher, solange die neue Größe groß genug ist.
- Klicken Sie auf der Hauptseite des Moduls auf das Symbol für die Datenbank, die die Tabelle enthält, und dann auf das Tabellensymbol. Dadurch wird die im obigen Screenshot gezeigte Seite angezeigt, die die Namen, Typen und andere Details aller vorhandenen Felder auflistet.
- Klicken Sie auf den Namen des Feldes, das Sie ändern möchten, um zum Feldbearbeitungsformular zu gelangen.
- Um das Feld umzubenennen, bearbeiten Sie den Feldnamen Textfeld.
- Um den Feldtyp zu ändern, wählen Sie einen neuen aus dem Menü *Datentyp* aus. Wie oben erläutert, sollte dies mit Sorgfalt erfolgen.
- Je nach aktuellem Typ werden unterschiedliche Eingaben zum Bearbeiten der Größe angezeigt. Dies sind die gleichen wie in Schritt 4 der Anweisungen zur Felderstellung oben erläutert. Das Erhöhen der Größe eines Felds schadet den darin enthaltenen Daten nicht, aber das Verkleinern führt dazu, dass Werte abgeschnitten werden, wenn sie länger als die neue Größe sind.
- Die Typ-Optionen , Nullen zulassen? , Standardwert und Teil des Primärschlüssels? Eingaben haben hier die gleiche Bedeutung wie in den Felderstellungsschritten. Ändern Sie sie, wenn Sie diese Optionen für das vorhandene Feld anpassen möchten.
- Wenn Sie fertig sind, klicken Sie auf Speichern Schaltfläche am unteren Rand des Formulars. Das Feld wird sofort aktualisiert, und alle darin enthaltenen Daten werden entsprechend geändert oder abgeschnitten.
Ein vorhandenes Feld kann durch Klicken auf Löschen entfernt werden Schaltfläche im Feldbearbeitungsformular anstelle von Speichern . Alle darin enthaltenen Daten werden sofort für immer gelöscht. Natürlich können Sie das letzte Feld einer Tabelle nicht löschen.
Feldtypen
MySQL unterstützt die meisten der gleichen Feldtypen wie andere SQL-Datenbanken. Die beste Informationsquelle zu Typen ist die offizielle MySQL-Dokumentation unter http://dev.mysql.com/doc/refman/4.1/en/data-types.html (für MySQL 3 und 4) oder http://www .mysql.org/doc/refman/5.0/en/data-types.html (für MySQL 5).
Neuere Versionen von MySQL führen möglicherweise mehr Typen ein, aber Sie sollten trotzdem in der Lage sein, die Daten in Feldern mit nicht unterstützten Typen zu bearbeiten.
Anzeigen und Bearbeiten von Tabelleninhalten
Mit dem MySQL-Modul können Sie den Inhalt jeder Tabelle in jeder Datenbank anzeigen. Bei Tabellen mit einem Primärschlüssel können die Datensätze geändert oder gelöscht und auch neue hinzugefügt werden. Leider gibt es keine Möglichkeit, den Inhalt einer Tabelle ohne Schlüssel zu bearbeiten, da das Modul bestimmte Datensätze irgendwie identifizieren muss. Alle Tabellen in einer Datenbank sollten jedoch eine haben.
Gehen Sie folgendermaßen vor, um den Inhalt einer Tabelle anzuzeigen:
- Klicken Sie auf der Hauptseite auf das Symbol für die Datenbank, die die Tabelle enthält, und dann auf das Symbol für die Tabelle selbst.
- Klicken Sie im Tabellenbearbeitungsformular auf Daten anzeigen Knopf unten. Dadurch gelangen Sie auf eine Seite, die eine Tabelle mit den ersten 20 Zeilen der Tabelle enthält.
- Wenn die Tabelle mehr Zeilen enthält, als auf einer Seite angezeigt werden können, werden Anfang und Ende des sichtbaren Bereichs und die Gesamtzahl der Zeilen oben angezeigt. Daneben befinden sich Links- und Rechtspfeile zum Wechseln zu den nächsten oder vorherigen 20 Datensätzen.
- Bei großen Tabellen wird auch unten auf der Seite ein Suchformular angezeigt. Um es zu verwenden, wählen Sie einen Feldnamen aus dem ersten Menü, einen Vergleichstyp aus dem zweiten und geben Sie einen zu suchenden Wert in das letzte Textfeld ein. Wenn die Suche Schaltfläche angeklickt wird, werden nur Zeilen angezeigt, für die das ausgewählte Feld übereinstimmt. Um wieder zur Anzeige aller Datensätze zu wechseln, klicken Sie auf Suche zurücksetzen Link, der nun über der Tabelle erscheint. Die enthält Der Vergleichstyp findet Datensätze, in denen das Feld den eingegebenen Text enthält, während der übereinstimmt type findet Datensätze, deren Feldwert mit einem SQL-Muster übereinstimmt, wie es in einer Like-Klausel verwendet wird. In einem solchen Muster entspricht % einer beliebigen Zeichenkette und _ einem beliebigen einzelnen Zeichen - genau wie * und ? am Shell-Prompt tun.
- Beim Anzeigen einer großen Tabelle eine Schaltfläche mit der Bezeichnung Gehe zu wird auch unten auf der Seite angezeigt. Wenn eine Zahl in das angrenzende Feld eingegeben und die Schaltfläche angeklickt wird, springt die Anzeige sofort zu dieser Zeile.
Wenn die Tabelle einen Primärschlüssel hat, kann dieselbe Seite auch zum Bearbeiten, Löschen oder Hinzufügen von Datensätzen verwendet werden. Zu bearbeitende Datensätze müssen zuerst mit den Kontrollkästchen rechts neben jeder Zeile oder mit Alle auswählen ausgewählt werden und Auswahl umkehren Verknüpfungen. Wenn Sie auf die Schaltfläche *Ausgewählte Zeilen bearbeiten* klicken, wird die Seite erneut mit den Werten aller ausgewählten Datensätze in Textfeldern angezeigt. Nehmen Sie die gewünschten Änderungen vor und klicken Sie auf Speichern Schaltfläche unten auf der Seite, um die Datenbank zu aktualisieren. Oder klicken Sie auf Abbrechen wenn Sie die Bearbeitung beenden möchten, ohne Ihre Änderungen zu speichern.
Um Datensätze zu löschen, wählen Sie sie mit denselben Kontrollkästchen und Auswahllinks aus und klicken Sie auf Ausgewählte Zeilen löschen Taste. Die ausgewählten Datensätze werden ohne weitere Bestätigung sofort aus der Datenbank entfernt.
Um einen neuen Datensatz hinzuzufügen, klicken Sie auf die Zeile hinzufügen Schaltfläche unter der Tabelle. Es erscheint eine zusätzliche Zeile mit leeren Textfeldern, in die Sie neue Details eingeben können. Klicken Sie auf Speichern fügt den neuen Datensatz zur Tabelle hinzu und verschiebt die Anzeige, sodass Sie die neue Zeile sehen können. Alternativ können Sie auf Abbrechen klicken wenn Sie Ihre Meinung zum Hinzufügen eines Datensatzes ändern.
Normalerweise werden Datensätze in Textfeldern bearbeitet oder hinzugefügt, die in der Tabelle in den entsprechenden Spalten erscheinen. Wenn Sie jedoch eine Tabelle bearbeiten, die ein Blob- oder Textfeld enthält, oder wenn die Modulkonfigurationsoption *Schnittstelle zum Hinzufügen vertikaler Zeilen verwenden* aktiviert ist, wird ein anderes Layout verwendet. Stattdessen werden Textfelder für Felder in einem separaten Feld innerhalb oder unterhalb der Tabelle aufgelistet, mit Feldnamenbeschriftungen auf der rechten Seite. Bei Text- oder Blob-Feldern wird ein Textfeld angezeigt, sodass Sie bei Bedarf mehrere Textzeilen eingeben können.
Löschen von Tabellen und Datenbanken
Wenn eine Tabelle aus einer Datenbank entfernt wird, gehen alle darin enthaltenen Datensätze und Felder verloren. Sie können jede Tabelle entfernen, obwohl das Löschen von Tabellen in der mysql-Datenbank keine gute Idee ist, da sie wichtige MySQL-Zugriffskontrollinformationen enthalten. Um einen zu entfernen, gehen Sie wie folgt vor:
- Klicken Sie auf der Hauptseite des Moduls auf das Symbol für die Datenbank, aus der Sie die Tabelle entfernen möchten, und dann auf das Symbol für die Tabelle selbst.
- Klicken Sie auf die Drop-Tabelle Schaltfläche unter der Liste der Felder. Dadurch gelangen Sie zu einer Bestätigungsseite, die Sie fragt, ob Sie sicher sind, und Ihnen sagt, wie viele Datensätze gelöscht werden.
- Um fortzufahren, klicken Sie auf die Drop-Tabelle Taste erneut. Sobald es entfernt wurde, kehren Sie zur Liste der überlebenden Tabellen in der Datenbank zurück.
Es ist auch möglich, eine ganze Datenbank und alle darin enthaltenen Tabellen und Datensätze zu löschen. Jede Datenbank kann entfernt werden, aber das Löschen der MySQL-Datenbank ist eine sehr schlechte Idee. Wie üblich gibt es keine Möglichkeit, den Löschvorgang rückgängig zu machen, es sei denn, Sie haben ein Backup erstellt.
Angenommen, Sie möchten eine Datenbank wirklich löschen, gehen Sie folgendermaßen vor:
- Klicken Sie auf der Hauptseite auf das Symbol für die Datenbank, die Sie entfernen möchten.
- Klicken Sie auf Datenbank löschen Schaltfläche unterhalb der Tabellenliste. Es wird eine Bestätigungsseite angezeigt, die Ihnen mitteilt, wie viele Tabellen und Datensätze verloren gehen, wenn Sie fortfahren.
- Um mit dem Löschen fortzufahren, klicken Sie auf Datenbank löschen Schaltfläche und Sie werden zur Hauptseite des Moduls zurückgebracht, wenn es fertig ist.
- Alternativ können Sie alle Tabellen und ihre Datensätze entfernen, indem Sie auf Einfach alle Tabellen löschen klicken stattdessen. Die Datenbank selbst bleibt leer.
Ausführen von SQL-Befehlen
Das MySQL-Modul bietet auch eine einfache Schnittstelle zum Ausführen von SQL-Befehlen in einer Datenbank und zum Anzeigen ihrer Ausgabe. Die Schritte zur Verwendung sind:
- Klicken Sie auf der Hauptseite auf das Symbol für die Datenbank, in der Sie Befehle ausführen möchten.
- Klicken Sie auf SQL ausführen Schaltfläche unterhalb der Liste der Tabellensymbole. Dadurch gelangen Sie zu einer Seite, auf der Sie SQL-Befehle eingeben, Befehlsdateien ausführen und Daten in die Datenbank laden können.
- Geben Sie einen beliebigen SQL-Befehl in das Textfeld oben auf der Seite ein und klicken Sie auf Ausführen Taste. Wenn in Ihrer SQL-Syntax ein Fehler aufgetreten ist oder der Befehl nicht ausgeführt werden kann, wird die Fehlermeldung von MySQL angezeigt. Andernfalls wird eine Tabelle mit Ergebnissen aus dem SQL (falls vorhanden) angezeigt. Nur SELECT-Anweisungen erzeugen Ergebnisse – UPDATE, INSERT und andere Befehle, die Datensätze ändern, tun dies nicht.
- Wenn Sie mit der Anzeige der Ergebnisse fertig sind, verwenden Sie das Formular *Zurück zur SQL-Ausführung*, um zum Formular zurückzukehren.
- Jeder erfolgreich ausgeführte Befehl wird zu einer Historie für die Datenbank hinzugefügt. Sie können einen vorherigen SQL-Befehl erneut ausführen, indem Sie das Textfeld leer lassen und ihn aus dem Menü unten auswählen und dann auf Ausführen klicken . Um den Befehlsverlauf zu löschen, klicken Sie auf Verlauf löschen Taste stattdessen. Dies kann nützlich sein, wenn es mit alten Anweisungen vollgestopft wird, die Sie nicht erneut verwenden müssen.
Dieselbe Seite kann verwendet werden, um mehrere Befehle aus einer Textdatei auszuführen und ihre Ausgabe anzuzeigen. Da der Vorgang genau derselbe ist wie beim Wiederherstellen einer Sicherung, wird er im Wiederherstellungsteil von Sichern und Wiederherstellen einer Datenbank erläutert Abschnitt unten.
Sichern und Wiederherstellen einer Datenbank
MySQL-Backup aller DatenbankenWenn eine Ihrer Datenbanken wichtige Informationen enthält, sollte sie regelmäßig gesichert werden, falls ein Festplattenausfall oder ein SQL-Fehler zu Datenverlust führt. Es ist auch eine gute Idee, eine Sicherungskopie zu erstellen, bevor Sie einen möglicherweise riskanten Vorgang ausführen, z. B. den Typ eines Felds ändern oder eine komplexe SQL-Anweisung ausführen, die viele Datensätze ändert.
Um das Modul zum Erstellen eines Backups zu verwenden, gehen Sie wie folgt vor:
- Klicken Sie auf der Hauptseite auf das Symbol für die Datenbank, die Sie sichern möchten.
- Klicken Sie auf Datenbank sichern Schaltfläche unterhalb der Tabellenliste. Dadurch gelangen Sie zu einem Formular zur Eingabe des Sicherungsziels und der Optionen.
- Im Backup in Datei Geben Sie im Feld den vollständigen Dateipfad ein, in den die Sicherung geschrieben werden soll, z. B. /tmp/backup.sql . Wenn die Datei bereits existiert, wird sie überschrieben.
- Um die Sicherung auf nur einige Datensätze zu beschränken, deaktivieren Sie die Option Alle Zeilen für das Feld *Nur Zeilen sichern, die mit Where-Klausel übereinstimmen* und geben Sie beispielsweise eine SQL-WHERE-Klausel in das angrenzende Feld ein foo ='bar . Dies funktioniert nur, wenn die Klausel für alle Tabellen in der Datenbank gültig ist, also müssten im Beispiel alle Tabellen ein foo haben Feld.
- Wenn die Drop-Table-Anweisungen zur Sicherung hinzufügen? Feld auf Ja gesetzt ist , enthält die Sicherung SQL-Anweisungen zum Löschen vorhandener Tabellen mit demselben Namen beim Wiederherstellen. Das bedeutet, dass bei einer Wiederherstellung auf einem anderen System die Daten in diesen Tabellen durch die neuen Daten aus der Sicherung ersetzt werden. Wenn Nein ausgewählt ist, werden die wiederhergestellten Daten zu bereits vorhandenen hinzugefügt. Die beste Wahl hängt wirklich davon ab, was Sie zu tun versuchen. Für eine normale Sicherung sollten Sie Ja auswählen damit alle beschädigten oder widersprüchlichen Daten entfernt werden, wenn die Sicherung wiederhergestellt wird. Wenn Sie jedoch Datensätze in ein anderes System oder eine andere Datenbank übertragen Nein sollte stattdessen ausgewählt werden, damit vorhandene Datensätze in der Zieltabelle nicht verloren gehen.
- Um die Sicherung zu erstellen, klicken Sie auf Jetzt sichern Schaltfläche am unteren Rand des Formulars, und eine Seite mit Erfolg oder Misserfolg wird angezeigt.
MySQL-Sicherungsdateien sind eigentlich nur Listen von SQL CREATE TABLE- und INSERT-Anweisungen, die bei ihrer Ausführung die Datenbank in den Zustand zurückversetzen, in dem sie sich befand, als die Sicherung erstellt wurde. Obwohl dies mehr Speicherplatz benötigt als ein stärker komprimiertes Binärformat, können Sie die Datei einfach anzeigen und ändern, wenn Sie dies wünschen. Es bedeutet auch, dass eine Sicherungsdatei auf einem System mit einer anderen Architektur verwendet werden kann, da die Datei nur ASCII-Text enthält.
Wenn Sie eine Datenbank haben, die für einen wichtigen Produktionszweck verwendet wird, sollte sie regelmäßig gesichert werden, z. B. einmal täglich. Anstatt die obigen Anweisungen jeden Tag zu befolgen, können Sie das Modul Geplante Cron-Jobs (in Kapitel 10 behandelt) verwenden, um einen Job zu erstellen, der die Sicherung für Sie durchführt. Um herauszufinden, welcher Befehl ausgeführt werden muss, verwenden Sie die obigen Anweisungen, um zuerst ein Backup zu erstellen, und besuchen Sie dann das Webmin Actions Log-Modul (in Kapitel 54 behandelt), um den verwendeten Befehl anzuzeigen.
Sobald eine Sicherungsdatei erstellt wurde, kann sie auf demselben System oder auf einem anderen Server, auf dem MySQL ausgeführt wird, wiederhergestellt werden. Je nachdem, was die Drop-Table-Anweisungen zur Sicherung hinzufügen? Feld zum Zeitpunkt der Sicherung auf gesetzt wurde, werden die Inhalte aller vorhandenen Tabellen mit denselben Namen wie denen in der Sicherung möglicherweise gelöscht. Daher sollten Sie generell nur dann wiederherstellen, wenn die Tabellen nicht existieren oder veraltete oder ungültige Daten enthalten, die Sie überschreiben möchten.
Da eine Sicherungsdatei nur eine Liste von SQL-Anweisungen ist, umfasst der Wiederherstellungsprozess lediglich die Ausführung aller Befehle in der Datei. Das bedeutet, dass Sie denselben Schritten folgen können, um auch eine Datei mit Ihren eigenen Befehlen auszuführen:
- Klicken Sie auf der Hauptseite des Moduls auf das Symbol für die Datenbank, in die die Sicherung wiederhergestellt werden soll.
- Klicken Sie auf SQL ausführen und scrollen Sie nach unten zum Abschnitt *SQL-Befehlsdatei zum Ausführen in der Datenbank auswählen*.
- Wenn sich die Sicherungsdatei auf dem System befindet, auf dem MySQL und Webmin ausgeführt werden, wählen Sie Aus lokaler Datei Option und geben Sie den vollständigen Pfad zu der Datei in das angrenzende Textfeld ein. Wenn sich das Backup auf dem PC befindet, auf dem Ihr Browser läuft, wählen Sie *Aus hochgeladener Datei* und verwenden Sie die Schaltfläche Durchsuchen Schaltfläche, um die Sicherungsdatei auszuwählen.
- Klicken Sie auf Ausführen Schaltfläche, um die Sicherung wiederherzustellen oder die SQL-Befehle in der Datei auszuführen. Eine Seite, die alle Ausgaben von MySQL während der Ausführung auflistet, wird angezeigt. Im Allgemeinen gibt es keine, es sei denn, es tritt ein Fehler auf oder die Datei enthält SELECT-Anweisungen.
MySQL-Benutzer verwalten
MySQL-BenutzerberechtigungenIhr MySQL-Datenbankserver verlangt von allen Clients, dass sie sich mit einem Benutzernamen und einem Passwort authentifizieren, bevor sie SQL-Befehle ausführen können. Es hat seine eigenen Tabellen mit Benutzern, Passwörtern und Berechtigungen, die konsultiert werden, wenn ein Client versucht, sich anzumelden, und nicht die Unix-Benutzerdateien /etc/passwd und /etc/shadow. Detaillierte Berechtigungen können für jeden Benutzer definiert werden, um die Arten von SQL-Anweisungen, die er verwenden kann, die Client-Hosts, von denen er eine Verbindung herstellen kann, und die Datenbanken, Tabellen und Felder, die er ändern kann, einzuschränken.
Normalerweise kann sich nach der Erstinstallation von MySQL nur der Root-Benutzer anmelden. Dieser Benutzer hat die Berechtigung, auf alle Datenbanken und Tabellen zuzugreifen und alle Aktionen auszuführen, und wird daher im Allgemeinen nur zu Verwaltungszwecken verwendet. Wenn Sie eine Anwendung schreiben möchten, die eine Datenbank verwendet, ist es eine gute Idee, einen anderen Benutzer für diesen Zweck zu erstellen und die Anwendung so einzurichten, dass sie sich als dieser Benutzer anmeldet.
Die standardmäßige MySQL-Installation erstellt auch eine Anonyme Benutzer ohne Passwort und Zugriff auf Datenbanken beginnend mit test. Dieser spezielle Benutzer wird für alle Anmeldeversuche verwendet, für die kein anderer passender Benutzer gefunden wird. Anonyme Nutzer werden weiter unten näher erläutert.
Benutzer erstellenGehen Sie wie folgt vor, um einen Benutzer hinzuzufügen:
- Klicken Sie auf der Hauptseite des Moduls auf Benutzerberechtigungen Symbol. Dadurch gelangen Sie zu einer Seite, auf der vorhandene Benutzer aufgelistet sind, wie im folgenden Screenshot gezeigt.
- Klicken Sie auf den Link Neuen Benutzer erstellen über oder unter der Tabelle, um zum Benutzererstellungsformular zu gelangen.
- Im Benutzernamen Wählen Sie das zweite Optionsfeld aus und geben Sie einen Namen für diesen Benutzer ein. Auch wenn es möglich ist, mehrere Benutzereinträge mit demselben Namen zu erstellen, wie später erklärt wird, sollte dieser neue Eintrag eindeutig sein.
- Angenommen, Sie möchten, dass der Benutzer ein Passwort hat, ändern Sie das Passwort Feld auf Einstellen auf und in das nebenstehende Feld eintragen. Wenn Sie Keine wählen , dann muss kein Passwort angegeben werden und Versuche, sich mit einem Passwort anzumelden, werden abgelehnt.
- Um diesem Benutzer zu erlauben, sich nur von einem bestimmten Host anzumelden, wählen Sie das zweite Optionsfeld in den Hosts Feld und geben Sie einen Hostnamen in das Textfeld ein. Der Hostname muss derselbe sein wie der, der von einer Rückwärtssuche der IP-Adresse des Clients zurückgegeben wird, die fast immer ein vollständiger Hostname wie pc.example.com sein wird statt nur server . Sie können stattdessen eine IP-Adresse oder einen Hostnamen oder ein SQL-Muster für eine IP-Adresse wie %.example.com eingeben . Geben Sie localhost ein, um einem Benutzer zu erlauben, sich nur von demselben System aus zu verbinden, auf dem der Datenbankserver läuft als Gastgeber. Falls irgendwelche ausgewählt ist, kann sich dieser Benutzer von jedem Host aus verbinden. Seien Sie vorsichtig, wenn Sie einen Benutzer erstellen, für den ein Host angegeben ist – wenn er versucht, sich von woanders zu verbinden und ein anonymer Benutzer mit einem passenden Host vorhanden ist, wird er stattdessen als anonymer Benutzer angemeldet!
- In den Berechtigungen Wählen Sie in der Liste die Einträge für die Aktionen aus, die der Benutzer ausführen dürfen soll. For an application user, being able to select, insert, update and delete records is usually enough. Un-trusted users should never be given permissions beyond Drop tables , as that would allow him to harm the database, access arbitrary files or enhance his own permissions. If a user does not have any permissions at all, he will be unable to connect unless some have been granted for a specific database or host (as explained in the next section).
- To create the user, click the Save Schaltfläche unten auf der Seite. The new MySQL login will be usable immediately, and will have access to all databases and tables with the permissions specified in step 6. See the next section in this chapter for information on how to restrict a user to only certain databases or tables.
When a client tries to login, MySQL searches for the first matching user and host in the list of users. The server always checks entries with specific hostnames before those that allow any host, and Anonymous user entries before those for a specific user. This means that a user may end up with the Anonymous permissions even though he is in the user list with greater privileges. Due to the confusion this can cause, I recommend deleting all anonymous user entries unless you fully understand their effects.
It is possible and even useful to have multiple entries for the same user in the list, as long as they have different hostnames. For example, if you want to allow the user fred to login from only clients server.example.com and www.foo.com , you would need to create two entries from fred with the Host field set differently. The should have the same password and permissions though, unless you want to require a different password or grant different permissions depending on the host the user is connecting from.
New and existing users can be edited by clicking on their names in the list, which brings up an editing form almost identical to the one used for creating a user. The only different is that the Password field has a Don't change option which is selected if the user has a password, and which tells Webmin to leave the password unchanged when the user is saved. After making changes, click the Save button at the bottom of the form to update the user in the database. Or to delete it, hit the Delete Taste. If there are multiple entries for the same user, you will have to update them all individually if changing the password or permissions.
Unless you have already created another administration user with full privileges, the root user should not be deleted. Because this Webmin module normally logs in a root itself, modifying or removing this user may force you to login to MySQL again as explained in the introduction to the module earlier in the chapter. By deleting the root user or removing its privileges, it is possible to deny yourself access to the database, which can only be fixed using command-line programs like mysqladmin.
Like many other modules, the MySQL Database Server module can be configured to automatically create, update or delete a MySQL user when the same thing happens to a corresponding Unix user. This can be useful if you allow some of the Unix users on your system to access databases, and want to keep their passwords and usernames synchronized.
To set up synchronization, the steps to follow are:
- On the module's main page, click on the User Permissions Symbol. Scroll down to the form below the list of existing MySQL users.
- If you want a new MySQL user to be created for each new Unix user, check the Add a new MySQL user when a Unix user is added Kasten. Then select the permissions that should be granted to the user from the list to the right. When a MySQL user is automatically added, its will be allowed to login from any host.
- If you want MySQL users to be renamed or have their passwords changed when the same thing happens to matching Unix users, check the *Update a MySQL user when the matching Unix user is modified* box. If more than one entry exists for the same user, they will all be effected.
- To have a MySQL user deleted at the same time as the Unix user of the same name, check the *Delete a MySQL user when the matching Unix user is deleted* box. If more than one entry exists for the same user, they will all be deleted.
- Klicken Sie auf Speichern button to make the new synchronization settings active.
Managing database, host, table and field permissions
Users created by following the instructions in the previous section have access to all databases on the server with the same permissions. However, it is possible to give a user access to only specific databases by following the steps below:
- Make sure the user does not have any permissions on the User Permissions page. Any that he has set here will apply to all databases, which is not what you want.
- On the module's main page, click on the Database Permissions Symbol. This will bring up a list of users and the privileges they have for specific databases.
- Click on the Create new database permissions link above or below the list.
- In the form that appears, the Databases field controls which databases he will have access to. You can either select the Any radio button to grant permissions for all databases, select the second radio button to grant access to the database selected from the menu, or choose the final button to grant access to databases whose names match the SQL pattern entered into the adjacent field. Typically the second option is the one that you want to select, so that you can grant access to a single database. If the user should have access to more than one, you will need to add multiple database permissions entries.
- In the Username field, select the second radio button and enter the name of the MySQL user to whom access should be granted.
- The Hosts field allows you to choose which client host(s) the user will be able to connect to the database from. You should normally select Any , which gives him access from anywhere - unless the user himself is prevented from connecting from some hosts, explained in the Managing MySQL users section .
- From the Permissions list, select the privileges that the user should have for the chosen database. These will be added to any that are set for the user on the User Permissions page.
- Klicken Sie auf Speichern button to add and activate the new permissions. You will be returned to the database permissions list.
You can edit database permissions by clicking on a database name from the list. This will take you to an editing form identical to the creation form in which the database, username, hosts or permissions can be changed. The Save button saves and activates any changes, while the Delete button removes the permissions from the database.
When MySQL is first installed, database permissions for the Anonymous user in the test and test_% databases will be created automatically. Assuming the Anonymous user exists in the User Permissions page, these give anyone who can connect to MySQL access to records in those databases. Unless you are making use of anonymous logins, these database permissions can be safely deleted.
MySQL also allows permissions to be granted on databases to all users connecting from certain client hosts. This can be useful if you want to increase the privileges that a particular client system has, such as a web server connecting to your database server. To add host permissions, the steps to follow are:
- On the module's main page, click on the Host Permissions Symbol. This will take you to a page listing existing permissions granted to client hosts, if any. When MySQL is installed, no permissions of this type are initially defined.
- Click on the Create new host permissions to bring up a form for adding a new host permissions entry.
- If the permissions should apply to all databases, select the Any radio button in the Databases Feld. If they are for only a specific database, select the second radio button and choose a database from the menu next to it. If you want to grant permissions to databases whose names match an SQL pattern, select the final radio button and enter the pattern into the adjacent text field.
- In the Hosts field, select the second radio button and enter a hostname, IP address or hostname or IP pattern (like %.example.com or 192.168.1.% ) into the field next to it. Selecting the Any button isn't particularly useful.
- From the Permissions menu, choose those privileges that will be granted to all users connecting to the chosen database from the specified host. These will be added to any other permissions that are granted on the User Permissions or Database Permissions pages.
- Klicken Sie auf Speichern button to activate the new client host permissions.
As usual, you can edit existing an host permissions entry by clicking on the database name from the list, editing fields and clicking Save . Or you can remove it with the Delete Taste.
MySQL also supports the granting of permissions to specific tables and fields to users connecting from certain hosts. Webmin allows you to set these up by clicking on the Table Permissions and Field Permissions icons on the main page. However, as they are quite complex and rarely used, they are not covered in this chapter.
Modulzugriffskontrolle
Normally a Webmin user who has access to the MySQL Database Server module can manage all databases and use all of the module's features. However, as WebminUsers explains it is possible to restrict what a user can do with a module. In this case, you can grant access to only certain databases, control the directory that backups can be written to, and restrict the creation and deletion of databases. This can be useful if various databases on your server are owned by different people, and you want to give each of them a Webmin login to manage only those that belong to them.
To set up this kind of module access control, the steps to follow are:
- In the Webmin Users module, click on MySQL Database Server next to the name of a user or group who has access to the module.
- On the access control form, change the Can edit module configuration? Feld auf Nein . This is necessary to prevent the user changing the programs that the module uses for accessing the database.
- In the Databases this user can manage field, choose the Selected Möglichkeit. Then select the databases he should have access to from the list below.
- Change the Can create new databases? Feld auf Nein . There is no reason that a restricted user of this type should be able to add new databases.
- Unless you want the user to be able to delete his own databases, change the Can drop databases? Feld auf Nein . Leaving it set to Yes is harmless though, as he will only be able to delete those that you have granted him access to.
- Change the Can stop and start MySQL server? Feld auf Nein .
- If you want this Webmin user to be able to control access by MySQL users to his databases, change the Can edit permissions? field to Only for managed databases . This will give him access to the Database, Host, Table and Field Permissions pages, but limit him to viewing and editing entries for the databases he is granted access to. To deny access to MySQL permission management altogether, select No stattdessen. Choosing Yes is a bad idea, as it would allow the user to create MySQL users with access to all databases on the server.
- If the Can edit table data? field is set to No , the user will not be able to create tables, edit fields, run SQL commands or make backups. Instead, he will only be able to use the module's record viewing and editing feature.
- When the Login to MySQL as field is set to *Username from Module Config*, all database actions performed by this user will be done as the MySQL user set in the module configuration, typically root. However, you may want the Webmin user to login as a less-privileged MySQL user as an additional security precaution. This way, even if the user finds a way to defeat the module's restrictions he will still not be able to execute SQL commands as root. To use a different login, select the Username option and enter a valid MySQL login and password into the adjacent fields. This alternate user must have the privileges to perform everything that the module needs to do though, such as creating tables and possibly granting permissions.
- Normally Webmin runs the mysqldump command to make backups as the root Unix user, and allows the backup file to be created anywhere on your system. Because this may allow important files to be overwritten, you should change the *Backup file directory* field to a safe directory for creating backups in, such as /home/someuser/backup . Better still, the Write backup as Unix user field should be changed to a user other than root, such as the Webmin user's Unix login. The mysqldump command will be run as this user instead, which prevents it from being used to overwrite files.
- Finally, to make the new access control restrictions active, click Save .
If you want to give a large number of users access to MySQL though a web interface, an alternative to configuring the Webmin module for each user is to install Usermin. It has a MySQL module with an identical interface, and can be easily configured to limit which databases are visible. See chapter 47 for more information.
Module Configuration
Module ConfigurationLike many other modules, this one has several options that you can set by clicking on the Module Config link in the top-left corner of the main page. Those fields listed under *Configurable option* relate to the module's user interface and the method it uses to connect to the database, while those under *System configuration* define the paths to the MySQL programs and files.
Unless you have installed the database server in a different directory to the default for your operating system, fields in the second section do not generally need to be changed. This can happen if you installed MySQL from the source code instead of using the package supplied with your Linux distribution, or if you have two copies of MySQL installed and are configuring a clone of the module (covered in Webmin Configuration) to manage the second install.
If you have multiple copies of MySQL installed on your system, you should clone this module once for each server. The last three configuration options can then be customised to connect to each of the MySQL installs, which will probably be listening on different ports or use different socket files.