Erstellen von Benutzern in Azure Database for MySQL
GILT FÜR:Azure Database for MySQL Single Server Azure Database for MySQL Flexible Server
Wichtig
Azure Database for MySQL Single Server wird eingestellt. Es wird dringend empfohlen, ein Upgrade auf Azure Database for MySQL Flexible Server auszuführen. Weitere Informationen zum Migrieren zu Azure Database for MySQL Flexible Server finden Sie unter Was geschieht mit Azure Database for MySQL Single Server?
In diesem Artikel wird beschrieben, wie Benutzer*innen für Azure Database for MySQL erstellt werden.
Hinweis
Dieser Artikel enthält Verweise auf den Begriff Slave. Dieser Begriff wird von Microsoft nicht mehr verwendet. Sobald der Begriff aus der Software entfernt wurde, wird er auch aus diesem Artikel entfernt.
Sie haben beim Erstellen Ihres Azure Database for MySQL-Servers einen Benutzernamen und ein Kennwort für den Serveradministrator/die Serveradministratorin angegeben. Weitere Informationen finden Sie in diesem Schnellstart. Sie können den Benutzernamen Ihres Serveradministrators im Azure-Portal festlegen.
Der Benutzer „Serveradministrator“ hat folgende Berechtigungen:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER
Nachdem Sie einen Azure Database for MySQL-Server erstellt haben, können Sie über das erste Serveradministratorkonto weitere Benutzer*innen erstellen und ihnen Administratorzugriff gewähren. Sie können über das Serveradministratorkonto auch weniger privilegierte Benutzer*innen erstellen, die Zugriff auf einzelne Datenbankschemas haben.
Hinweis
Die Berechtigung „SUPER“ und die Rolle „DBA“ werden nicht unterstützt. Überprüfen Sie die Berechtigungen im Artikel zu den Einschränkungen, um zu verstehen, was im-Dienst nicht unterstützt wird.
Kennwort-Plug-Ins wie validate_password
und caching_sha2_password
werden vom Dienst nicht unterstützt.
Erstellen einer Datenbank
Beschaffen Sie die Verbindungsinformationen und den Administratorbenutzernamen.
Für die Verbindungsherstellung mit Ihrem Datenbankserver benötigen Sie den vollständigen Servernamen und die Administratoranmeldeinformationen. Sie können den Servernamen und die Anmeldeinformationen auf der Seite Übersicht oder auf der Seite Eigenschaften des Servers im Azure-Portal problemlos finden.
Verwenden Sie das Administratorkonto und das Kennwort zum Herstellen einer Verbindung mit Ihrem Datenbankserver. Verwenden Sie Ihr bevorzugtes Clienttool: MySQL Workbench, mysql.exe oder HeidiSQL.
Hinweis
Wenn Sie nicht genau wissen, wie Sie die Verbindung herstellen können, lesen Sie Connect and query data for Single Server (Verbinden und Abfragen von Daten für Single Server) bzw. Connect and query data for Flexible Server (Verbinden und Abfragen von Daten für Flexible Server).
Bearbeiten Sie den folgenden SQL-Code, und führen Sie ihn aus. Ersetzen Sie den Platzhalterwert
db_user
durch Ihren vorgesehenen neuen Benutzernamen. Ersetzen Sie den Platzhalterwerttestdb
durch Ihren Datenbanknamen.Dieser SQL-Code erstellt die neue Datenbank „testdb“. Anschließend erstellt er im MySQL-Dienst einen neuen Benutzer/eine neue Benutzerin und gewährt ihm/ihr alle Berechtigungen für das neue Datenbankschema (testdb.*).
CREATE DATABASE testdb;
Erstellen von Benutzer*innen ohne Administratorrechte
Nachdem Sie die Datenbank erstellt haben, können Sie zunächst einen Nicht-Administratorbenutzer mithilfe der MySQL-Anweisung CREATE USER
erstellen.
CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
FLUSH PRIVILEGES;
Überprüfen der Benutzerberechtigungen
Führen Sie die MySQL-Anweisung SHOW GRANTS
aus, um die Berechtigungen anzuzeigen, die dem Benutzer db_user auf der Datenbank testdb gewährt wurden.
USE testdb;
SHOW GRANTS FOR 'db_user'@'%';
Herstellen einer Verbindung mit der Datenbank mit neuen Benutzer*innen
Melden Sie sich am Server an. Geben Sie dabei die gewünschte Datenbank sowie den neuen Benutzernamen und das zugehörige Kennwort an. In diesem Beispiel wird die MySQL-Befehlszeile angezeigt. Wenn Sie diesen Befehl verwenden, werden Sie zur Eingabe des Benutzerkennworts aufgefordert. Verwenden Sie Ihren eigenen Servernamen, Datenbanknamen und Benutzernamen. Informationen zum Herstellen einer Verbindung mit dem Einzelserver und dem flexiblen Server finden Sie in der folgenden Tabelle.
Servertyp | Verwendung |
---|---|
Einzelner Server | mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user@mydemoserver -p |
Flexible Server | mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p |
Einschränken von Berechtigungen für Benutzer*innen
Um die Art der Vorgänge einzuschränken, die Benutzer*innen in der Datenbank ausführen können, müssen Sie die Vorgänge explizit in der Anweisung GRANT hinzufügen. Siehe folgendes Beispiel:
CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Informationen zu azure_superuser
Alle Azure Database for MySQL-Server werden mit dem Benutzer „azure_superuser“ erstellt. Microsoft hat dieses Systemkonto zum Verwalten des Servers erstellt, um Überwachungs-, Sicherungs- und andere regelmäßige Wartungsarbeiten durchzuführen. Bereitschaftstechniker können über dieses Konto auch während eines Vorfalls mit Zertifikatauthentifizierung auf den Server zugreifen und müssen den Zugriff mithilfe von JIT-Prozessen (Just-In-Time) anfordern.
Nächste Schritte
- Weitere Informationen zur Verwaltung von Benutzerkonten finden Sie in der MySQL-Produktdokumentation in den Abschnitten zu den Themen Benutzerkontenverwaltung, GRANT-Syntax und Berechtigungen.