Video: No Time to Die Trailer #1 2024
Wenn MySQL installiert ist, wird automatisch eine Datenbank namens mysql erstellt. Alle Informationen, die zum Schutz Ihrer Daten verwendet werden, werden in dieser Datenbank gespeichert, einschließlich Kontonamen, Hostnamen, Kennwörter und Berechtigungen.
Berechtigungen werden in Spalten gespeichert. Das Format jedes Spaltennamens ist Privileg _priv, wobei Privileg ein spezifisches Konto-Privileg ist. Die Spalte mit ALTER-Berechtigungen hat beispielsweise den Namen alter_priv. Der Wert in jeder Privilegspalte ist Y oder N, was ja oder nein bedeutet.
So gibt es zum Beispiel in der Benutzertabelle eine Zeile für ein Konto und eine Spalte für alter_priv. Wenn das Kontofeld für alter_priv Y enthält, kann das Konto zum Ausführen einer ALTER-Anweisung verwendet werden. Wenn alter_priv N enthält, hat das Konto keine Berechtigung zum Ausführen einer ALTER-Anweisung.
Die mysql-Datenbank enthält die folgenden Tabellen, in denen Berechtigungen gespeichert werden:
-
user table: Diese Tabelle speichert Zugriffsrechte, die für alle Datenbanken und Tabellen gelten. Es enthält eine Zeile für jedes gültige Konto, das die Spalten Benutzername, Hostname und Kennwort enthält. Der MySQL-Server weist eine Verbindung für ein Konto zurück, das in dieser Tabelle nicht vorhanden ist.
-
db Tabelle: Diese Tabelle speichert Zugriffsrechte für eine bestimmte Datenbank. Sie enthält eine Zeile für die Datenbank, die einem Kontonamen und einem Hostnamen Berechtigungen erteilt. Das Konto muss in der Benutzertabelle für die zu gewährenden Berechtigungen vorhanden sein. Berechtigungen, die in der Benutzertabelle angegeben sind, überschreiben Berechtigungen in dieser Tabelle.
Wenn beispielsweise die Benutzertabelle eine Zeile für den Konto-Designer hat, der INSERT-Berechtigungen gibt, kann der Designer in alle Datenbanken einfügen. Wenn eine Zeile in der Datenbank-Tabelle N für INSERT für das Designerkonto in der PetCatalog-Datenbank anzeigt, wird die Benutzertabelle überschrieben und der Designer kann in die PetCatalog-Datenbank einfügen.
-
Host Tabelle: Diese Tabelle steuert den Zugriff auf eine Datenbank, abhängig vom Host. Die Hosttabelle arbeitet mit der DB-Tabelle. Wenn eine Zeile in der DB-Tabelle ein leeres Feld für den Host hat, überprüft MySQL die Host-Tabelle, um zu sehen, ob die DB dort eine Zeile hat. Auf diese Weise können Sie den Zugriff auf eine Datenbank von einigen Hosts, aber nicht von anderen erlauben.
Angenommen, Sie haben zwei Datenbanken: db1 und db2. Die Datenbank db1 verfügt über vertrauliche Informationen, sodass nur bestimmte Personen sie sehen sollen. Die Datenbank db2 enthält Informationen, die jeder sehen soll. Wenn Sie eine Zeile in der Db-Tabelle für Db1 mit einem leeren Host-Feld haben, können Sie zwei Zeilen für Db1 in der Host-Tabelle haben.
Eine Zeile kann allen Benutzern, die eine Verbindung von einem bestimmten Host herstellen, alle Berechtigungen erteilen, während eine andere Zeile Benutzern, die eine Verbindung von einem anderen Host herstellen, Berechtigungen verweigern kann.
-
tables_priv table: Diese Tabelle speichert Zugriffsrechte für bestimmte Tabellen.
-
columns_priv table: Diese Tabelle speichert Zugriffsrechte für bestimmte Spalten.
Sie können die Tabellen in mysql direkt sehen und ändern, wenn Sie ein Konto verwenden, das über die erforderlichen Berechtigungen verfügt. Sie können SQL-Abfragen wie SELECT, INSERT und UPDATE verwenden. Wenn Sie über Ihren Arbeitgeber, einen Kunden oder ein Webhosting-Unternehmen auf MySQL zugreifen, verfügen Sie wahrscheinlich nicht über ein Konto mit den erforderlichen Berechtigungen.