Tworzenie użytkowników w usłudze Azure Database for MySQL
W tym artykule opisano tworzenie nowych kont użytkowników w celu interakcji z serwerem usługi Azure Database for MySQL.
Uwaga
Ten artykuł odwołuje się do terminu podrzędnego, którego firma Microsoft już nie używa. Po usunięciu terminu z oprogramowania usuniemy go z tego artykułu.
Podczas tworzenia serwera usługi Azure Database for MySQL podano nazwę użytkownika i hasło administratora serwera. Aby uzyskać więcej informacji, zobacz ten przewodnik Szybki start. Nazwę użytkownika administratora serwera można określić w witrynie Azure Portal.
Administrator serwera ma następujące uprawnienia:
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
Po utworzeniu usługi Azure Database for the MySQL można użyć pierwszego konta administratora serwera, aby utworzyć więcej użytkowników i udzielić im dostępu administratora. Możesz również użyć konta administratora serwera, aby utworzyć mniej uprzywilejowanych użytkowników z dostępem do poszczególnych schematów bazy danych.
Uwaga
Rola ADMINISTRATORA i administratora bazy danych nie są obsługiwane. Zapoznaj się z uprawnieniami w artykule dotyczącym ograniczeń, aby dowiedzieć się, co nie jest obsługiwane w usłudze.
Wtyczki haseł, takie jak validate_password
i caching_sha2_password
nie są obsługiwane przez usługę.
Utwórz bazę danych
Uzyskaj informacje o połączeniu i nazwę użytkownika administratora.
Aby można było nawiązać połączenie z serwerem bazy danych, potrzebne są pełna nazwa serwera i poświadczenia logowania administratora. Nazwę serwera i informacje logowania można łatwo znaleźć na stronie Przegląd serwera lub Właściwości w witrynie Azure Portal.
Użyj konta administratora i hasła, aby nawiązać połączenie z serwerem bazy danych. Użyj preferowanego narzędzia klienckiego MySQL Workbench, mysql.exe lub HeidiSQL.
Edytuj i uruchom następujący kod SQL. Zastąp wartość
db_user
symbolu zastępczego nazwą zamierzonego nowego użytkownika. Zastąp wartośćtestdb
symbolu zastępczego nazwą bazy danych.
Ten kod SQL tworzy nową bazę danych o nazwie testdb. Następnie tworzy nowego użytkownika w usłudze MySQL i przyznaje temu użytkownikowi wszystkie uprawnienia do nowego schematu bazy danych (testdb.*).
CREATE DATABASE testdb;
Tworzenie użytkownika niebędącego administratorem
Po utworzeniu bazy danych możesz utworzyć użytkownika niebędącego administratorem przy użyciu instrukcji CREATE USER
MySQL.
CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
FLUSH PRIVILEGES;
Weryfikowanie uprawnień użytkownika
Aby wyświetlić uprawnienia dozwolone dla db_user użytkownika w bazie danych testdb, uruchom instrukcję SHOW GRANTS
MySQL.
USE testdb;
SHOW GRANTS FOR 'db_user'@'%';
Nawiązywanie połączenia z bazą danych przy użyciu nowego użytkownika
Zaloguj się na serwerze, określ wyznaczoną bazę danych i użyj nowej nazwy użytkownika i hasła. W tym przykładzie pokazano wiersz polecenia MySQL. Gdy używasz tego polecenia, zostanie wyświetlony monit o podanie hasła użytkownika. Użyj własnej nazwy serwera, nazwy bazy danych i nazwy użytkownika. Zobacz, jak nawiązać połączenie w poniższej tabeli.
--host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p
Ograniczanie uprawnień użytkownika
Aby ograniczyć typ operacji, które użytkownik może uruchomić w bazie danych, należy jawnie dodać operacje w instrukcji GRANT . Zobacz poniższy przykład:
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;
Informacje o azure_superuser
Wszystkie serwery usługi Azure Database for MySQL są tworzone za pomocą użytkownika o nazwie "azure_superuser". Firma Microsoft utworzyła konto systemowe do zarządzania serwerem i przeprowadzania monitorowania, tworzenia kopii zapasowych i regularnej konserwacji. Inżynierowie połączeń mogą również używać tego konta do uzyskiwania dostępu do serwera podczas zdarzenia z uwierzytelnianiem certyfikatu i muszą zażądać dostępu przy użyciu procesów just in time (JIT).