다음을 통해 공유


Azure Database for MySQL에서 사용자 만들기

이 문서에서는 Azure Database for MySQL 서버와 상호 작용할 새 사용자 계정을 만드는 방법을 설명합니다.

참고 항목

이 문서에서는 Microsoft가 더 이상 사용하지 않는 슬레이브라는 용어를 참조하세요. 소프트웨어에서 용어가 제거되면 이 문서에서 해당 용어가 제거됩니다.

Azure Database for MySQL 서버를 만들 때 서버 관리 사용자 이름과 암호를 제공했습니다. 자세한 내용은 빠른 시작을 참조하세요. Azure Portal에서 서버 관리 사용자 이름을 결정할 수 있습니다.

서버 관리 사용자에게는 다음 권한이 있습니다.

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

Azure Database for MySQL 서버가 생성되면 첫 번째 서버 관리자 계정을 사용하여 추가 사용자를 생성하고 관리자 권한을 부여할 수 있습니다. 또한 서버 관리자 계정을 사용하여 개별 데이터베이스 스키마에 액세스할 수 있는 권한이 낮은 사용자를 만들 수도 있습니다.

참고 항목

SUPER 권한 및 DBA 역할은 지원되지 않습니다. 제한 사항 문서의 권한을 검토하여 서비스에서 지원되지 않는 기능을 확인하세요.

validate_passwordcaching_sha2_password와 같은 암호 플러그인은 서비스에서 지원되지 않습니다.

데이터베이스 만들기

  1. 연결 정보 및 관리 사용자 이름을 가져옵니다.

    데이터베이스 서버에 연결하려면 전체 서버 이름 및 관리자 로그인 자격 증명이 필요합니다. 서버 개요 또는 Azure Portal의 속성 페이지에서 서버 이름과 로그인 정보를 쉽게 찾을 수 있습니다.

  2. 관리자 계정 및 암호를 사용하여 데이터베이스 서버에 연결합니다. MySQL Workbench, mysql.exe, HeidiSQL 등 선호하는 클라이언트 도구를 사용하면 됩니다.

  3. 다음 SQL 코드를 편집하고 실행합니다. 자리 표시자 값 db_user을 사용하려는 신규 사용자 이름으로 변경합니다. 자리 표시자 값 testdb을 데이터베이스 이름으로 변경합니다.

이 SQL 코드는 testdb라는 새 데이터베이스를 생성합니다. 그런 다음 MySQL 서비스에 새 사용자를 만들고 해당 사용자에게 새 데이터베이스 스키마(testdb.*)에 대한 모든 권한을 부여합니다.

   CREATE DATABASE testdb;

관리 사용자가 아닌 사용자 만들기

이제 데이터베이스를 만들었으므로 MySQL 문을 사용하여 CREATE USER nonadmin 사용자를 만들 수 있습니다.

   CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';

   GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';

 FLUSH PRIVILEGES;

사용자 권한 확인

testdb 데이터베이스에서 사용자 db_user에게 허용된 권한을 확인하려면 SHOW GRANTS MySQL 문을 실행합니다.

   USE testdb;

 SHOW GRANTS FOR 'db_user'@'%';

새 사용자로 데이터베이스에 연결

서버에 로그인하고, 지정된 데이터베이스를 지정하고, 새 사용자 이름과 암호를 사용합니다. 이 예에서는 MySQL 명령줄을 보여 줍니다. 이 명령을 사용하면 사용자의 암호를 묻는 메시지가 표시됩니다. 사용자 고유의 서버 이름, 데이터베이스 이름, 사용자 이름으로 변경합니다. 다음 표에서 연결하는 방법을 참조하세요.

      --host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p

사용자의 권한 제한

사용자가 데이터베이스에서 실행할 수 있는 작업의 유형을 제한하려면 GRANT 문에 해당 작업을 명시적으로 추가해야 합니다. 다음 예제를 참조하십시오.

   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;

azure_superuser 정보

모든 Azure Database for MySQL 서버는 "Azure_superuser" 라는 사용자로 생성됩니다. Microsoft는 서버를 관리하고 모니터링, 백업 및 정기적인 유지 관리를 수행하는 시스템 계정을 만들었습니다. 또한 온-콜 엔지니어는 인증서 인증을 사용하여 인시던트 중에 이 계정을 사용하여 서버에 액세스할 수 있으며 JIT(Just-In-Time) 프로세스를 사용하여 액세스를 요청해야 합니다.