Skapa användare i Azure Database for MySQL
I den här artikeln beskrivs hur du skapar nya användarkonton för att interagera med en Azure Database for MySQL-server.
Kommentar
Den här artikeln refererar till termen slave, som Microsoft inte längre använder. När termen tas bort från programvaran tar vi bort den från den här artikeln.
Du angav ett användarnamn och lösenord för serveradministratören när du skapade din Azure Database for MySQL-server. Mer information finns i den här snabbstarten. Du kan fastställa serveradministratörens användarnamn i Azure Portal.
Serveradministratörsanvändaren har följande behörigheter:
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
När du har skapat en Azure Database for the MySQL-server kan du använda det första serveradministratörskontot för att skapa fler användare och ge administratörsåtkomst till dem. Du kan också använda serveradministratörskontot för att skapa mindre privilegierade användare med åtkomst till enskilda databasscheman.
Kommentar
SUPER-behörigheten och DBA-rollen stöds inte. Granska behörigheterna i artikeln om begränsningar för att förstå vad som inte stöds i tjänsten.
Lösenords-plugin-program som validate_password
och caching_sha2_password
stöds inte av tjänsten.
Skapa en -databas
Hämta anslutningsinformationen och administratörens användarnamn.
Du behöver det fullständiga servernamnet och inloggningsuppgifterna för administratör för att ansluta till databasservern. Du kan enkelt hitta servernamnet och inloggningsinformationen på serveröversikten eller sidan Egenskaper i Azure Portal.
Använd administratörskontot och lösenordet för att ansluta till databasservern. Använd önskat klientverktyg, MySQL Workbench, mysql.exe eller HeidiSQL.
Redigera och kör följande SQL-kod. Ersätt platshållarvärdet
db_user
med ditt avsedda nya användarnamn. Ersätt platshållarvärdettestdb
med databasnamnet.
Den här SQL-koden skapar en ny databas med namnet testdb. Den gör sedan en ny användare i MySQL-tjänsten och ger användaren alla behörigheter för det nya databasschemat (testdb.*).
CREATE DATABASE testdb;
Skapa en nonadmin-användare
Nu när du har skapat databasen kan du skapa en icke-administratörsanvändare med mySQL-instruktionen CREATE USER
.
CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
FLUSH PRIVILEGES;
Verifiera användarbehörigheterna
Om du vill visa behörigheter som tillåts för användare db_user på testdb-databasen kör du MySQL-instruktionen SHOW GRANTS
.
USE testdb;
SHOW GRANTS FOR 'db_user'@'%';
Ansluta till databasen med den nya användaren
Logga in på servern, ange den avsedda databasen och använd det nya användarnamnet och lösenordet. I det här exemplet visas kommandoraden MySQL. När du använder det här kommandot uppmanas du att ange användarens lösenord. Använd ditt eget servernamn, databasnamn och användarnamn. Se hur du ansluter i följande tabell.
--host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p
Begränsa behörigheter för en användare
Om du vill begränsa vilken typ av åtgärder en användare kan köra i databasen måste du uttryckligen lägga till åtgärderna i GRANT-instruktionen. Se följande exempel:
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;
Om azure_superuser
Alla Azure Database for MySQL-servrar skapas med en användare med namnet "azure_superuser". Microsoft skapade ett systemkonto för att hantera servern och utföra övervakning, säkerhetskopior och regelbundet underhåll. Jourtekniker kan också använda det här kontot för att komma åt servern under en incident med certifikatautentisering och måste begära åtkomst med jit-processer (just-in-time).