반응형

[MariaDB] HeidiSQL 사용방법 매뉴얼 3편 - GUI방식으로 사용자 계정 생성 및 권한부여하기

 

이전편에서는 HeidiSQL 포터블 설치 및 DB접속방법, GUI 방식으로 DB 및 TABLE 생성과 데이터 입력 방법, 그리고 기타 유용한 기능에 대해서 설명드렸습니다.

이번편에는 HeidiSQL의 GUI방식으로 사용자 계정을 생성하고 계정에 원하는 권한만 부여하는 방법에 대해서 설명드리겠습니다.

 

먼저 admin에 대한 권한을 설명드리겠습니다.

  1. 계정명은 admin이다. PW는 adminpw이다.

  2. 모든 데이터베이스의 모든 테이블에 권한을 준다. (*.*)

  3. 권한은 모든 권한을 부여한다. (ALL)

  4. admin은 모든PC(외부PC 포함)에서 접속 할 수 있다. (%)

위에서 정의한 admin 계정을 생성하고 권한을 부여하는 GUI 방법을 설명드리겠습니다.먼저 메뉴 - 도구 - 사용자 관리자를 선택합니다.

사용자 관리자

 

사용자 관리자 창에서 "추가"버튼을 클릭합니다.

  1. 사용자 이름에 admin 입력합니다.

  2. 호스트에서 란에 % (모든 곳에서 접속가능) 선택합니다.

  3. 암호란에 adminpw 입력합니다. 재입력란에도 똑같이 입력합니다.

  4. 접근 허용목록에는 전체권한을 선택해줍니다.

  5. 저장을 클릭하면 계정 목록에 admin % 가 추가된 것을 확인 할 수 있습니다.

사용자 관리자 추가하기

 

위 GUI 내용을 SQL문으로 변경하자면 아래 코드와 같습니다.

CREATE USER admin@'%' IDENTIFIED BY 'adminpw';  -- 계정생성 admin, % 모든곳에서 접근, pw는 adminpw
GRANT ALL ON *.* TO admin@'%' WITH GRANT OPTION; -- 계정권한부여 ALL, *.* 모든 DB.테이블, admin계정은 모든PC에서 접근가능, GRANT 권한까지 부여 

 

외부PC에서 HeidiSQL로 서버로 접속한 경우 저장 시 SQL (1045)오류가 날 수 있습니다.

이는 외부에서 서버DB에 접속하기 위해서 root@'%'에 GRANT 권한을 줬을때 마지막에 "WITH GRANT OPTION;"를 안 넣어서 생기는 문제입니다.

1045오류

 

서버에서(localhost) MriaDB에 접속 후 아래 GRANT 쿼리와 FLUSH 쿼리를 입력합니다.

( # GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'root의비밀번호' WITH GRANT OPTION; )

( # FLUSH PRIVILEGES; )

with grant option

 

 

다음은 selecter 권한에 대해서 설명드리겠습니다.

  1. 계정명은 selecter이다. PW는 selecterpw이다.

  2. 모든 데이터베이스의 모든 테이블에 권한을 준다. (*.*)

  3. 권한은 select 권한을 부여한다. (SELECT)

  4. selecter는 임의 IP에서만 접속 할 수 있다. (예: 192.168.0.100)

사용자 관리자 창에서 "추가"버튼을 클릭합니다.

  1. 사용자 이름에 selecter 입력합니다.

  2. 호스트에서 란에 192.168.0.100 입력합니다.

  3. 암호란에 selecterpw 입력합니다. 재입력란에도 똑같이 입력합니다.

  4. 접근 허용목록에는 select을 선택해줍니다.

  5. 저장을 클릭하면 계정 목록에 selecter / 192.168.0.100 이 추가된 것을 확인 할 수 있습니다.

selecter 생성

 

위 GUI 내용을 SQL문으로 변경하자면 아래 코드와 같습니다.

CREATE USER selecter@'192.168.0.100' IDENTIFIED BY 'selecterpw';  -- 계정생성 selecter, 192.168.0.100에서만 접근, pw는 selecterpw
GRANT SELECT ON *.* TO selecter@'192.168.0.100'; -- 계정권한부여 SELECT, *.* 모든 DB.테이블, selecter계정은 192.168.0.100에서 접근가능

 

 

다음은 worker 권한에 대해서 설명드리겠습니다.

  1. 계정명은 worker이다. PW는 workerpw이다.

  2. "testDB" 데이터베이스의  "testTABLE" 테이블에 권한을 준다.

  3. 권한은 INSERT, UPDATE 권한을 부여한다.

  4. worker는 임의 IP에서만 접속 할 수 있다. (예: 192.168.0.200)

사용자 관리자 창에서 "추가"버튼을 클릭합니다.

  1. 사용자 이름에 worker 입력합니다.

  2. 호스트에서 란에 192.168.0.200 입력합니다.

  3. 암호란에 workerpw 입력합니다. 재입력란에도 똑같이 입력합니다.

  4. 객체 추가를 클릭 후 testDB의 testTABLE을 선택합니다.

  5. 접근 허용목록에는 INSERT, UPDATE를 선택해 줍니다.

  6. 저장을 클릭하면 계정 목록에 worker / 192.168.0.200 이 추가된 것을 확인 할 수 있습니다.

worker 사용자 추가
객체 추가 - 테이블 선택

 

위 GUI 내용을 SQL문으로 변경하자면 아래 코드와 같습니다.

CREATE USER worker@'192.168.0.200' IDENTIFIED BY 'workerpw';  -- 계정생성 worker, 192.168.0.200에서만 접근, pw는 workerpw
GRANT INSERT, UPDATE ON testDB.testTABLE TO selecter@'192.168.0.200'; -- 계정권한부여 INSERT UPDATE, testDB.testTABLE에만 접근, worker계정은 192.168.0.200에서만 접근가능

 

이상 HeidiSQL에 관한 포스팅을 마치겠습니다.

 

 

[MariaDB] 전체보기

 

 

'MariaDB' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

반응형