데이터 센터에서 실행되는 MySQL 데이터베이스 인스턴스 검색(미리 보기)

이 문서에서는 Azure Migrate 어플라이언스를 사용하여 데이터 센터의 서버에서 실행되는 MySQL 데이터베이스 인스턴스를 검색하는 방법을 설명합니다. 검색 프로세스는 에이전트가 없습니다. 대상 서버에 에이전트가 설치되어 있지 않습니다.

지원되는 지역

다음 표에서는 미리 보기에서 MySQL 검색 및 평가를 지원하는 지역을 나열합니다.

지리학 지역
Africa 남아프리카 북부
아시아 태평양 동아시아 동남 아시아
오스트레일리아 오스트레일리아 동부
오스트레일리아 남동부
브라질 Brazil South
캐나다 캐나다 중부
유럽 북유럽
서유럽
프랑스 프랑스 중부
독일 독일 중서부
India 인도
중부 인도 남부
이탈리아 Italy North
일본 일본 동
일본 서부
대한민국 한국 중부
한국 남부
노르웨이 Norway East
폴란드 Poland Central
스페인 Spain Central
스웨덴 스웨덴 중부
아랍 에미리트 연합국 UAE North
영국 영국 남부
영국 서부
미국 미국 중부
서부 미국 2

필수 조건

비고

공용 엔드포인트 연결을 사용하여 만든 Azure Migrate 프로젝트만 지원됩니다. 프라이빗 엔드포인트 프로젝트는 미리 보기에서 지원되지 않습니다.

MySQL 자격 증명 제공

  1. 어플라이언스 구성 관리자를 열고 어플라이언스의 필수 구성 요소 확인 및 등록을 완료합니다.

  2. 자격 증명 및 검색 원본 관리 패널로 이동합니다.

  3. 3단계: MySQL 인증 자격 증명 유형을 선택하고, 친숙한 이름을 제공하고, MySQL 사용자 이름 및 암호를 입력하고, 저장을 선택합니다.

    비고

    • 추가된 MySQL 자격 증명에 해당하는 사용자에게 다음 권한이 있는지 확인합니다.
      • information_schema 테이블에 대한 사용 권한을 선택합니다.
      • mysql.users 테이블에 대한 사용 권한을 선택합니다.
    • MySQL 검색의 경우, 필요한 방화벽 규칙과 MySQL 사용자 권한을 구성하여 어플라이언스의 IP 또는 도메인이 허용되는지 확인합니다. 필요한 경우 my.cnf의 bind-address도 외부 연결을 허용하도록 설정해야 합니다.
    • 다음 명령을 사용하여 MySQL 사용자에게 필요한 권한을 부여합니다.
     GRANT USAGE ON *.* TO 'username'@'ip';
     GRANT PROCESS ON *.* TO 'username'@'ip';
     GRANT SELECT (User, Host, Super_priv, File_priv, Create_tablespace_priv, Shutdown_priv) ON mysql.user TO 'username'@'ip';
     GRANT SELECT ON information_schema.* TO 'username'@'ip';
     GRANT SELECT ON performance_schema.* TO 'username'@'ip';  
    

Azure Migrate에서 검색 및 평가를 사용하도록 설정하려면 필요한 최소 권한으로 사용자 지정 MySQL 사용자 계정을 만들 수 있습니다. 다음 스크립트를 사용하여 계정을 만들고 어플라이언스 머신에서 액세스 권한을 부여합니다.

  • CREATE USER 권한 → 새 사용자를 생성할 수 있는 권한.
  • GRANT OPTION 권한 → 새 사용자에게 권한을 부여합니다.
  • MySQL 유저 테이블에서의 SELECT는 존재 확인에 필요합니다.
  • PROCESS 권한 → 만들기 후 프로세스 관련 권한 부여를 ​​검증하려는 경우.

-- MySQL Script to Create a Least-Privilege User for Azure Migrate
-- Replace @username, @password, and @ip with actual values before execution.

SET @username = 'your_username';
SET @password = 'your_password';
SET @ip = 'your_appliance_ip';

-- Check if the user already exists
SELECT CASE
    WHEN EXISTS (SELECT 1 FROM mysql.user WHERE user = @username AND host = @ip)
        THEN CONCAT('User ', @username, '@', @ip, ' already exists, skipping creation')
    ELSE
        CONCAT('User ', @username, '@', @ip, ' does not exist, proceeding with creation')
END AS user_check;

-- Create the user if not exists
CREATE USER IF NOT EXISTS @username@'@ip' IDENTIFIED BY @password;

-- Grant minimal required privileges
GRANT USAGE ON *.* TO @username@'@ip';
GRANT PROCESS ON *.* TO @username@'@ip';

-- Grant SELECT on specific columns in mysql.user
GRANT SELECT (User, Host, Super_priv, File_priv, Create_tablespace_priv, Shutdown_priv)
ON mysql.user TO @username@'@ip';

-- Grant SELECT on information_schema and performance_schema
GRANT SELECT ON information_schema.* TO @username@'@ip';
GRANT SELECT ON performance_schema.* TO @username@'@ip';

-- Apply changes
FLUSH PRIVILEGES;

-- Log success
SELECT CONCAT('Azure Migrate user ', @username, '@', @ip, ' created successfully with least privileges.') AS result;

MySQL 클라이언트를 통해 다음 명령을 사용하여 스크립트를 실행합니다.

mysql -u root -p -e "SET @username='myuser'; SET @password='mypassword'; SET @ip='appliance_ip'; SOURCE CreateUser.sql;"

검색된 서버 보기를 통해 검색이 시작된 후 약 24시간 후에 검색된 MySQL 데이터베이스 검토할 수 있습니다. MySQL 인스턴스를 더 빨리 검색하려면 다음 단계를 따릅니다.

  • 어플라이언스 Configuration Manager에 MySQL 자격 증명을 추가한 후 어플라이언스에서 검색 서비스를 다시 시작합니다.
  • Azure Migrate 프로젝트에서 서버, 데이터베이스 및 웹앱 블레이드로 이동합니다. 이 탭에서 평가 도구 섹션의 오른쪽에 있는 어플라이언스를 찾습니다.
  • 합계에 대비하여 예상되는 숫자를 선택합니다. 이렇게 하면 어플라이언스 블레이드로 이동합니다. 자격 증명이 추가된 어플라이언스를 선택합니다.
  • 어플라이언스 화면 하단에서 새로 고침 서비스 링크를 선택합니다. 이렇게 하면 모든 서비스가 다시 시작되고 MySQL 인스턴스가 새로 고침 후 인벤토리에 나타나기 시작합니다.
  1. Azure Migrate: 허브 페이지의 검색 및 평가 타일에서 검색된 서버 아래의 번호를 선택합니다.

    스크린샷은 검색된 서버를 보여줍니다.

  2. 작업 == 데이터베이스데이터베이스 유형 == MySQL 필터를 선택하여 사용자 환경에서 MySQL 데이터베이스 인스턴스를 실행하는 모든 서버의 목록을 봅니다.

  3. 검색된 각 서버에서 MySQL 데이터베이스 인스턴스의 기본 정보를 보려면 해당 서버의 데이터베이스 인스턴스 열에서 번호를 선택합니다. 

    스크린샷은 데이터베이스 인스턴스를 보여줍니다.

  4. DB 인스턴스 페이지에서 다음 정보를 검토합니다.

    • MySQL 서버 및 인스턴스 이름
    • MySQL 버전, 버전 및 버전 지원 상태
    • 인스턴스의 사용자 데이터베이스 수
    • Azure Migrate 연결 상태, DB 엔진 상태, 처음 검색된 시간 및 마지막으로 업데이트된 시간

    팁 (조언)

    열을 선택하여 데이터를 필터링합니다.

    스크린샷은 데이터베이스 인스턴스의 개요를 보여줍니다.

다음 단계