Azure Migrate 어플라이언스는 온-프레미스 서버를 검색하고 구성 및 성능 데이터를 Azure로 보내는 간단한 도구입니다. 또한 소프트웨어 인벤토리를 수행하고, 에이전트 없는 종속성 분석을 수행하며, 웹앱 및 SQL Server 또는 MySQL Server 인스턴스와 같은 워크로드를 검색합니다.
이러한 기능을 사용하려면 어플라이언스 구성 관리자에 서버 및 게스트 자격 증명을 추가합니다. 최소 권한 원칙에 따라 설치를 안전하고 효율적으로 유지하는 데 도움이 됩니다.
중요합니다
Azure Migrate 어플라이언스용 최소 권한 자격 증명을 구성하는 것 외에도 사용자에게 Azure에서 적절한 Azure Migrate 기본 제공 역할이 할당되었는지 확인합니다. 이러한 역할은 검색, 평가 및 마이그레이션 활동에 필요한 최소 권한을 제공합니다. 자세히알아보세요.
VMware 환경 탐색
VMware 자산에서 실행되는 서버의 기본 설정을 검색하려면 다음 권한이 필요합니다.
vCenter 계정 권한
서버 메타데이터 검색
- VMware 환경에서 기본 서버 구성을 검색하려면 다음 권한이 필요합니다.
- 읽기 전용: 기본 제공 읽기 전용 역할을 사용하거나 복사본을 만듭니다.
- 서버 메타데이터를 검색하고 소프트웨어 인벤토리, 종속성 분석 및 성능 평가를 사용하도록 설정하려면 다음 권한이 필요합니다.
- 읽기 전용: 기본 제공 읽기 전용 역할을 사용하거나 복사본을 만듭니다.
- 게스트 작업: 읽기 전용 역할에 게스트 작업 권한을 추가합니다.
VMware 서버의 한정된 범위 검색
- 특정 VM(가상 머신)을 검색하려면 개별 VM에서 읽기 권한을 할당합니다.
- 폴더의 모든 VM을 검색하려면 폴더 수준에서 읽기 권한을 할당하고 자식에 전파 옵션을 켭니다.
- 소프트웨어 인벤토리, 종속성 분석 및 성능 평가를 사용하도록 설정하려면 읽기 권한과 함께 vCenter 계정에 게스트 작업 권한을 할당합니다.
- 호스트, 클러스터, 호스트 폴더, 클러스터 폴더 및 데이터 센터와 같은 가상 머신을 호스트하는 모든 부모 개체에 대한 읽기 전용 액세스 권한을 부여합니다. 이러한 권한을 모든 자식 개체에 적용할 필요는 없습니다.
- vSphere 클라이언트에서 호스트 및 클러스터 보기와VM 및 템플릿 보기 모두에서 부모 개체에 대한 읽기 권한이 설정되어 있는지 확인합니다.
에이전트 없는 마이그레이션
에이전트 없는 마이그레이션을 수행하려면 Azure Migrate 어플라이언스에서 사용하는 vCenter 계정에 데이터 센터, 클러스터, 호스트, VM 및 데이터 저장소와 같은 모든 필수 수준에서 권한이 있는지 확인합니다. 복제 오류를 방지하기 위해 각 수준에서 사용 권한을 적용합니다.
| vSphere 권한 이름 | 권한 목적 | 필수 | API 권한 이름 |
|---|---|---|---|
| 데이터 저장소 찾아보기 | 사용자가 VM 로그 파일을 찾아 스냅샷 만들기 및 삭제 문제를 해결할 수 있도록 허용 | 데이터 저장소 | Datastore.Browse |
| 하위 수준 파일 작업 | 데이터 저장소 브라우저에서 읽기, 쓰기, 삭제 및 이름 바꾸기 작업을 허용하여 스냅샷 만들기 및 삭제 문제를 해결합니다. | 데이터 저장소 | Datastore.FileManagement |
| 구성 변경 - 디스크 변경 내용 추적 설정/해제 | 사용자가 VM 디스크의 변경 내용 추적을 사용하거나 사용하지 않도록 설정하여 스냅샷 간에 변경된 데이터 블록을 끌어올 수 있도록 허용 | 가상 머신 | VirtualMachine.Config.ChangeTracking |
| 구성 변경 - 디스크 임대 획득 | VMware vSphere VDDK(가상 디스크 개발 키트)를 사용하여 VM의 디스크 임대 작업에서 디스크를 읽을 수 있도록 허용 | 가상 머신 | VirtualMachine.Config.DiskLease |
| 프로비저닝 - 읽기 전용 디스크 액세스 허용 | 읽기 전용 디스크 액세스 허용: VDDK를 사용하여 VM에서 디스크를 열어 디스크를 읽습니다. | 가상 머신 | VirtualMachine.Provisioning.DiskRandomRead |
| 프로비저닝 - 디스크 액세스 허용 | VDDK를 사용하여 VM에서 디스크를 열어 디스크를 읽을 수 있도록 허용 | 가상 머신 | VirtualMachine.Provisioning.DiskRandomAccess |
| 프로비전 - 가상 머신 다운로드 허용 | 가상 머신 다운로드가 VM 파일을 읽고, 로그를 얻고, 오류 문제를 해결하도록 허용 | 루트 호스트 또는 vCenter Server | VirtualMachine.Provisioning.GetVmFiles |
| 스냅샷 관리 | VM에서 검색, 소프트웨어 인벤토리 및 종속성 매핑 허용 | 가상 머신 | VirtualMachine.State.* |
| 게스트 작업 | 복제를 위해 VM 스냅샷 만들기 및 관리 허용 | 가상 머신 | VirtualMachine.GuestOperations.* |
| 상호 작용 전원 끄기 | Azure로 마이그레이션하는 동안 VM을 해제하도록 허용 | 가상 머신 | VirtualMachine.Interact.PowerOff |
설치된 소프트웨어, 종속성 및 워크로드의 게스트 검색
대상 서버에서 소프트웨어, 애플리케이션 종속성 및 워크로드를 효과적으로 검색하려면 Azure Migrate 어플라이언스에 게스트 OS(운영 체제) 자격 증명이 필요합니다. 이러한 자격 증명을 통해 어플라이언스는 서버에 안전하게 연결하고 자세한 인벤토리 및 성능 데이터를 수집할 수 있습니다.
빠른 게스트 검색
소프트웨어 인벤토리, 서버 종속성 및 데이터베이스 인스턴스를 빠르게 검색하려면 다음 권한이 필요합니다.
| 사용 사례 | 검색된 메타데이터 | 자격 증명 유형 | 보안 권한 |
|---|---|---|---|
| 빠른 게스트 검색 | 소프트웨어 인벤토리 서버 종속성(제한된 데이터) 데이터베이스 인스턴스의 인벤토리 |
Windows 리눅스 |
로컬 게스트 사용자 계정 Sudo가 아닌 게스트 사용자 계정 |
비고
Windows 게스트 또는 Linux 비 Sudo 사용자 계정을 사용하여 종속성 매핑 데이터를 가져올 수 있습니다. 그러나 최소 권한의 계정에서는 더 높은 권한으로 실행되는 일부 프로세스에 대한 프로세스 정보(예: 프로세스 이름 또는 앱 이름)를 수집하지 않을 수 있습니다. 이러한 프로세스는 단일 서버 보기의 컴퓨터 아래에 알 수 없음 으로 표시됩니다.
심층 게스트 발견
소프트웨어 인벤토리, 서버 종속성 및 웹앱(예: .NET 및 Java Tomcat)을 심층 검색하려면 다음 권한이 필요합니다.
| 사용 사례 | 검색된 메타데이터 | 자격 증명 유형 | 필요한 권한 |
|---|---|---|---|
| 심층 게스트 발견 | 소프트웨어 인벤토리 서버 종속성(전체 데이터) 데이터베이스 인스턴스의 인벤토리 .NET 및 Java Tomcat과 같은 웹앱 |
윈도우즈 | 관리자 |
| 심층 게스트 발견 | 소프트웨어 인벤토리 서버 종속성(전체 데이터) 데이터베이스 인스턴스의 인벤토리 .NET 및 Java Tomcat과 같은 웹앱 |
리눅스 | 서버 종속성을 식별하려면 다음 Sudo 권한이 필요합니다. /usr/bin/netstat/usr/bin/ls netstat을 사용할 수 없는 경우 ss에 대한 Sudo 권한이 필요합니다. Java 웹앱 검색(Tomcat 서버)의 경우 사용자에게 모든 Catalina 홈에 대한 읽기 및 실행 r-x 권한이 있어야 합니다. 다음 명령을 사용하여 모든 Catalina 주택을 찾습니다 ps -ef \| grep catalina.home. 다음은 최소 권한의 사용자를 setfacl -m u:<username>:rx <catalina/home/path>설정하는 샘플 명령입니다. |
Hyper-V 부동산의 검색
Hyper-V 자산에서 실행되는 서버의 기본 설정을 찾으려면 특정 권한이 필요합니다. 모든 Hyper-V 호스트에서 다음 세 그룹의 일부인 로컬 사용자를 만듭니다.
- Hyper-V 관리자
- 성능 모니터 사용자
- 원격 관리 사용자
스크립트를 사용하여 Hyper-V 호스트를 준비합니다.
Hyper-V 자산을 심층 검색하고 소프트웨어 인벤토리 및 종속성 분석을 수행하려면 게스트 계정 자격 증명 이 필요합니다.
물리적 및 클라우드 서버 검색
다른 퍼블릭 클라우드에서 호스트되는 물리적 서버 또는 서버를 검색하고 평가하려면 Azure Migrate 어플라이언스에 최소 권한 액세스 권한이 있는 자격 증명이 필요합니다. 이러한 자격 증명을 사용하면 어플라이언스에서 중요한 시스템 권한을 과도하게 노출하지 않고도 필요한 데이터를 연결하고 수집할 수 있습니다.
빠른 서버 검색
소프트웨어 인벤토리, 서버 종속성 및 데이터베이스 인스턴스를 빠르게 검색하려면 다음 권한이 필요합니다.
| 사용 사례 | 검색된 메타데이터 | 자격 증명 유형 | 세부 정보 |
|---|---|---|---|
| 빠른 서버 검색 | 소프트웨어 인벤토리 에이전트 없는 종속성 분석(제한된 데이터) 데이터베이스 및 웹앱의 워크로드 인벤토리 |
윈도우즈 | 다음 단계를 수행하세요. |
| 빠른 서버 검색 | 소프트웨어 인벤토리 에이전트 없는 종속성 분석(전체 데이터) 데이터베이스 및 웹앱의 워크로드 인벤토리 |
리눅스 | 다음 단계를 수행하세요. |
Windows 서버
Windows 서버를 빠르게 검색하려면 다음 사용자 그룹에 속하는 Windows 사용자 계정을 만듭니다.
- 원격 관리 사용자
- 성능 모니터 사용자
- 성능 기록 사용자
게스트 사용자 계정에는 제어판의 WMI 제어 항목에서 CIMV2 네임스페이스 및 해당 하위 네임스페이스에 액세스할 수 있는 권한이 필요합니다. 액세스를 설정하려면 다음 단계를 사용합니다.
대상 Windows 서버에서 시작 메뉴로 이동하여 실행을 검색한 다음 선택합니다.
실행 대화 상자에서 Enter 키를 입력
wmimgmt.msc한 다음 누릅니다.wmimgmt 콘솔에서 WMI 컨트롤(로컬)을 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.
WMI 컨트롤(로컬) 속성 대화 상자에서 보안 탭을 선택합니다.
네임스페이스 트리에서 루트 폴더를 확장한 다음 CIMV2 네임스페이스를 선택합니다.
보안을 선택하여 ROOT\CIMV2 보안 대화 상자를 엽니다.
그룹 또는 사용자 이름 섹션에서 추가를 선택하여 사용자 또는 그룹 선택 대화 상자를 엽니다.
사용자 계정을 검색하고 선택한 다음 확인을 선택하여 ROOT\CIMV2 보안 대화 상자로 돌아갑니다.
그룹 또는 사용자 이름 섹션에서 게스트 사용자 계정을 선택합니다. 다음 권한이 허용되는지 확인합니다.
- 계정 사용
- 원격 활성화
적용을 선택하여 사용자 계정에 설정한 권한을 사용하도록 설정합니다.
새 게스트 사용자를 추가한 후 WinRM 서비스를 다시 시작합니다.
Linux 서버
Linux 서버를 빠르게 검색하려면 다음을 수행합니다.
사용자 계정을 만듭니다. 예를 들면 다음과 같습니다
AzMigrateLeastprivuser.파일에 다음 줄을
/etc/sudoers추가하여 필요한 명령에 대해서만 사용자에게 Sudo 권한을 부여합니다.AzMigrateLeastprivuser ALL=(ALL) NOPASSWD: /usr/sbin/dmidecode, /usr/sbin/fdisk -l, /usr/sbin/fdisk -l *, /usr/bin/ls -l /proc/*/exe, /usr/bin/netstat -atnp, /usr/sbin/lvdisplay "" Defaults:AzMigrateLeastprivuser !requiretty
심층 서버 검색
소프트웨어 인벤토리, 서버 종속성 및 웹앱(예: .NET 및 Java Tomcat)을 심층 검색하려면 다음 권한이 필요합니다.
| 사용 사례 | 검색된 메타데이터 | 자격 증명 유형 | 구성할 명령 |
|---|---|---|---|
| 심층 서버 검색 | .NET 및 Java Tomcat과 같은 웹앱의 심층 검색 에이전트 없는 종속성 분석(전체 데이터) |
Windows 리눅스 |
관리자 권한이 필요합니다. Tomcat 서버에서 Java 웹앱을 검색하려면 사용자 계정에 모든 Catalina 홈 디렉터리에 대한 읽기 및 실행 권한이 r-x 필요합니다.다음 명령을 사용하여 모든 Catalina 주택을 찾습니다 ps -ef \| grep catalina.home.다음은 최소 권한의 사용자를 setfacl -m u:<username>:rx <catalina/home/path>설정하는 샘플 명령입니다. |
데이터베이스 검색
소프트웨어 인벤토리는 워크로드 검색을 시작하는 데 필요합니다. 사용하도록 설정하려면 게스트 자격 증명이 추가되었는지 확인합니다. SQL 및 MySQL 데이터베이스를 검색할 수 있는 권한은 VMware, Hyper-V 및 물리적 서버와 같은 모든 어플라이언스 유형에 대해 동일합니다.
SQL Server 인스턴스 및 데이터베이스 검색
개별 SQL Server 인스턴스에서 최소 권한 계정을 만듭니다. Windows 인증을 사용하고 필요한 권한만 할당합니다.
Windows 인증
-- Create a login to run the assessment.
use master;
DECLARE @SID NVARCHAR(MAX) = N'';
CREATE LOGIN [MYDOMAIN\MYACCOUNT] FROM WINDOWS;
SELECT @SID = N'0x'+CONVERT(NVARCHAR, sid, 2) FROM sys.syslogins where name = 'MYDOMAIN\MYACCOUNT'
IF (ISNULL(@SID,'') != '')
PRINT N'Created login [MYDOMAIN\MYACCOUNT] with SID = ' + @SID
ELSE
PRINT N'Login creation failed'
GO
-- Create a user in every database other than tempdb, model, and secondary AG databases (with connection_type = ALL) and provide minimal read-only permissions.
USE master;
EXECUTE sp_MSforeachdb '
USE [?];
IF (''?'' NOT IN (''tempdb'',''model''))
BEGIN
DECLARE @is_secondary_replica BIT = 0;
IF CAST(PARSENAME(CAST(SERVERPROPERTY(''ProductVersion'') AS VARCHAR), 4) AS INT) >= 11
BEGIN
DECLARE @innersql NVARCHAR(MAX);
SET @innersql = N''
SELECT @is_secondary_replica = IIF(
EXISTS (
SELECT 1
FROM sys.availability_replicas a
INNER JOIN sys.dm_hadr_database_replica_states b
ON a.replica_id = b.replica_id
WHERE b.is_local = 1
AND b.is_primary_replica = 0
AND a.secondary_role_allow_connections = 2
AND b.database_id = DB_ID()
), 1, 0
);
'';
EXEC sp_executesql @innersql, N''@is_secondary_replica BIT OUTPUT'', @is_secondary_replica OUTPUT;
END
IF (@is_secondary_replica = 0)
BEGIN
CREATE USER [MYDOMAIN\MYACCOUNT] FOR LOGIN [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON sys.sql_expression_dependencies TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW DATABASE STATE TO [MYDOMAIN\MYACCOUNT];
END
END'
GO
-- Provide server-level read-only permissions.
use master;
GRANT SELECT ON sys.sql_expression_dependencies TO [MYDOMAIN\MYACCOUNT];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [MYDOMAIN\MYACCOUNT];
GRANT EXECUTE ON OBJECT::sys.xp_instance_regread TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW DATABASE STATE TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW SERVER STATE TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW ANY DEFINITION TO [MYDOMAIN\MYACCOUNT];
GO
-- Provide msdb-specific permissions.
use msdb;
GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [MYDOMAIN\MYACCOUNT];
GO
-- Clean up
--use master;
-- EXECUTE sp_MSforeachdb 'USE [?]; DROP USER [MYDOMAIN\MYACCOUNT]'
-- DROP LOGIN [MYDOMAIN\MYACCOUNT];
--GO
SQL Server 인증
--- Create a login to run the assessment.
use master;
-- NOTE: SQL Server instances that host replicas of Always On availability groups must use the same SID for the SQL Server login.
-- After the account is created in one of the members, copy the SID output from the script and include this value when executing against the remaining replicas.
-- When the SID needs to be specified, add the value to the following @SID variable definition.
DECLARE @SID NVARCHAR(MAX) = N'';
IF (@SID = N'')
BEGIN
CREATE LOGIN [evaluator]
WITH PASSWORD = '<provide a strong password>'
END
ELSE
BEGIN
DECLARE @SQLString NVARCHAR(500) = 'CREATE LOGIN [evaluator]
WITH PASSWORD = ''<provide a strong password>''
, SID = ' + @SID
EXEC SP_EXECUTESQL @SQLString
END
SELECT @SID = N'0x'+CONVERT(NVARCHAR(100), sid, 2) FROM sys.syslogins where name = 'evaluator'
IF (ISNULL(@SID,'') != '')
PRINT N'Created login [evaluator] with SID = '''+ @SID +'''. If this instance hosts any Always On Availability Group replica, use this SID value when executing the script against the instances hosting the other replicas'
ELSE
PRINT N'Login creation failed'
GO
-- Create a user in every database other than tempdb, model, and secondary AG databases (with connection_type = ALL) and provide minimal read-only permissions.
USE master;
EXECUTE sp_MSforeachdb '
USE [?];
IF (''?'' NOT IN (''tempdb'',''model''))
BEGIN
DECLARE @is_secondary_replica BIT = 0;
IF CAST(PARSENAME(CAST(SERVERPROPERTY(''ProductVersion'') AS VARCHAR), 4) AS INT) >= 11
BEGIN
DECLARE @innersql NVARCHAR(MAX);
SET @innersql = N''
SELECT @is_secondary_replica = IIF(
EXISTS (
SELECT 1
FROM sys.availability_replicas a
INNER JOIN sys.dm_hadr_database_replica_states b
ON a.replica_id = b.replica_id
WHERE b.is_local = 1
AND b.is_primary_replica = 0
AND a.secondary_role_allow_connections = 2
AND b.database_id = DB_ID()
), 1, 0
);
'';
EXEC sp_executesql @innersql, N''@is_secondary_replica BIT OUTPUT'', @is_secondary_replica OUTPUT;
END
IF (@is_secondary_replica = 0)
BEGIN
CREATE USER [evaluator] FOR LOGIN [evaluator];
GRANT SELECT ON sys.sql_expression_dependencies TO [evaluator];
GRANT VIEW DATABASE STATE TO [evaluator];
END
END'
GO
-- Provide server-level read-only permissions.
USE master;
GRANT SELECT ON sys.sql_expression_dependencies TO [evaluator];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [evaluator];
GRANT EXECUTE ON OBJECT::sys.xp_instance_regread TO [evaluator];
GRANT VIEW DATABASE STATE TO [evaluator];
GRANT VIEW SERVER STATE TO [evaluator];
GRANT VIEW ANY DEFINITION TO [evaluator];
GO
-- Provide msdb-specific permissions.
USE msdb;
GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [evaluator];
GO
-- Clean up
--use master;
-- EXECUTE sp_MSforeachdb 'USE [?]; BEGIN TRY DROP USER [evaluator] END TRY BEGIN CATCH PRINT ERROR_MESSAGE() END CATCH;'
-- BEGIN TRY DROP LOGIN [evaluator] END TRY BEGIN CATCH PRINT ERROR_MESSAGE() END CATCH;
--GO
대규모로 최소 권한으로 사용자 지정 SQL 계정을 설정하는 방법에 대한 자세한 내용은 SQL Server 검색 및 평가에 대한 최소 권한으로 사용자 지정 계정 프로비저닝을 참조하세요.
MySQL 서버 인스턴스 및 데이터베이스 검색
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';
자세히알아보세요.
관련 콘텐츠
- VMware 자산을 발견하는 방법을 배우세요.
- Hyper-V 부동산을 검색하는 방법을 알아봅니다.
- 퍼블릭 클라우드에서 실행되는 물리적 서버 또는 서버를 검색하는 방법을 알아봅니다.