MySQL용 Azure Database 인스턴스 배포

완료됨

Azure Database for MySQL은 MySQL Community Edition을 기반으로 하는 관계형 데이터베이스 서비스입니다. 예측 가능한 성능과 동적 확장성으로 중요 업무용 워크로드를 처리할 수 있는 완전히 관리되는 DBaaS(Database-as-a-Service) 제품입니다.

Azure Database for MySQL 배포 옵션

Azure에서 MySQL 데이터베이스를 호스트하려면 유연한 서버 배포 옵션을 사용할 수 있습니다. 유연한 서버 옵션은 다음과 같은 기능을 제공합니다.

  • 데이터베이스 서버 및 비용 최적화를 보다 효율적으로 제어할 수 있습니다.
  • MySQL 엔진을 사용자 지정하여 애플리케이션을 개발하는 기능입니다.
  • 영역 중복 고가용성.
  • 패치 및 업그레이드 타이밍을 제어하는 관리형 유지 관리 기간,
  • 튜닝을 위한 구성 매개 변수입니다.

서버 인스턴스를 배포하기 위한 명령

이 단원에서는 Azure Database for MySQL - 유연한 서버 인스턴스를 배포하는 단계를 설명합니다. 실제로 다음 단원에서 몇 가지 단계를 스스로 수행하는 스크립트를 실행하는 것을 포함하여 유사한 단계를 수행합니다.

Azure Database for MySQL - 유연한 서버 인스턴스를 배포하려면 먼저 리소스 그룹을 만듭니다. 그런 다음 리소스 그룹에 서버 인스턴스를 만듭니다. 마지막으로 인스턴스에 액세스하려면 방화벽 규칙을 구성합니다.

다음 단계에서는 이러한 작업에 대한 명령을 간략하게 설명합니다.

  1. Azure CLI에 로그인하려면 다음 명령을 사용합니다.

    az login
    
  2. Azure 리소스 그룹을 만들려면 다음 명령을 사용합니다.

    az group create \
        --name <resource-group-name> \
        --location <location>
    

    다음 목록에서는 자리 표시자에 사용하는 <...> 값을 설명합니다.

    • <resource-group-name> 는 구독 내에서 고유해야 합니다.
    • <location>은(는) Name 명령을 사용할 때 az account list-locations --output table 열에 반환된 값 중 하나여야 합니다.
  3. Azure Database for MySQL - 유연한 서버 인스턴스를 만들려면 다음 명령을 사용합니다.

    az mysql flexible-server create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --sku-name Standard_B1ms \
        --tier Burstable \
        --public-access <public-IP> \
        --storage-size 32 \
        --storage-auto-grow Enabled \
        --iops 500 \
        --version 8.0.21
    

    다음 목록에서는 이전에 설명한 값 외에도 자리 표시자에 사용하는 <...> 값에 대해 설명합니다.

    • <MySQL-server-name> 는 리소스 그룹 내에서 고유해야 합니다. 이름에는 소문자, 숫자, 하이픈(-) 문자만 사용할 수 있습니다. 이름은 3자에서 63자 사이여야 하며, 편리할 경우 사용하는 <resource-group-name>것과 동일한 값을 사용할 수 있습니다.
    • <MySQL-password> 는 관리자의 암호입니다. 암호는 8자에서 128자 사이여야 하며 영어 대문자, 영어 소문자, 숫자 및 영숫자가 아닌 문자의 세 가지 범주의 문자를 포함해야 합니다.
    • <public-IP> 는 로컬 호스트에서 데이터베이스를 테스트하는 데 사용되는 Azure 외부 연결을 허용하려는 호스트 이름의 공용 IP 주소입니다.
  4. 방화벽 규칙을 만들려면 이전 명령과 동일한 자리 표시자 값으로 다음 명령을 사용합니다.

    az mysql flexible-server firewall-rule create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --rule-name AllowAllAzureIPs \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 255.255.255.255
    

Azure CLI를 사용하여 연결 및 테스트

MySQL 8.0 이후 사용자 인증 방법이 변경되어 caching_sha2_password인증을 사용할 수 없게 되었습니다 mysql_native_password . 또는 Azure CLI의 az mysql flexible-server connect 명령을 사용하여 데이터베이스 서버에 대한 연결을 테스트하고, 기본 데이터베이스를 빠르게 만들고, mysql.exe 또는 MySQL Workbench를 설치하지 않고 서버에 대해 직접 쿼리를 실행할 수 있습니다. 대화형 모드에서 명령을 사용하여 한 번에 여러 쿼리를 실행할 수도 있습니다.

다음 명령을 사용하여 데이터베이스를 만들고, 서버에 연결하고, 이전 명령의 동일한 자리 표시자 값과 데이터베이스 이름을 지정하는 새 <database-name> 값을 사용하여 쿼리를 실행합니다.

  1. 데이터베이스를 만들려면 다음 명령을 사용합니다.

    az mysql flexible-server db create \
        --resource-group <resource-group-name> \
        --server-name <MySQL-server-name> \
        --database-name <database-name> \
        --charset utf8mb4 \
        --collation utf8mb4_unicode_ci
    
  2. 대화형 모드로 서버에 연결하려면 다음 명령을 사용합니다.

    az mysql flexible-server connect \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --interactive
    
  3. 쿼리를 실행하려면 다음 명령을 사용합니다.

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --querytext "select * from table1;"
    

    또는 쿼리를 파일에 넣고 다음 명령을 사용하여 쿼리를 실행할 수 있습니다.

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --file-path "./test.sql"
    

단위 요약

Azure Database for MySQL - 유연한 서버 인스턴스를 만드는 명령을 배웠습니다. 다음 단원에서는 Jakarta EE 애플리케이션에서 사용할 데이터베이스를 만들고 구성합니다.