MySQL
[MySQL] 30. MySQL 계정 생성 및 권한
Song hyun
2024. 6. 10. 11:07
728x90
반응형
[MySQL] 30. MySQL 계정 생성 및 권한
1. 계정 생성 및 권한 부여 방법
2. 권한 부여의 범위
3. 작업별 권한 부여
4. 시나리오 코드
MySQL에서 새 사용자 계정을 생성하고, 해당 사용자에게 DB 권한을 부여하는 과정은 DB 보안과 관리의 중요한 부분이다. 이러한 과정을 통해 각 사용자가 접근할 수 있는 데이터를 통제하고, 시스템을 보다 안전하게 유지할 수 있다.
*root 계정: 최상위 관리자 계정
*일반적으로 신입에게는 CRUD 중 R(read:읽기) 기능만 주어진다.
1. 계정 생성 및 권한 부여 방법 (버전에 따라 방식이 조금 다르다.)
(1) 사용자 생성: CREATE USER -> 사용자 생성/비밀번호 설정
(2) 권한 부여: 사용자 생성 후, GRANT -> 해당 사용자에게 권한 부여
2. 권한 부여의 범위
(1) 전체 권한 부여:
-사용자에게 모든 데이터베이스의 모든 테이블에 대한 모든 권한을 부여한다.
-이는 매우 강력한 권한이자, 주로 DB 관리자에게 주어진다.
(2) 특정 데이터베이스에 대한 권한 부여:
-사용자에게 트겅 데이터베이스에 대한 권한을 부여한다.
-이때, 사용자는
(3) 특정 테이블에 대한 권한 부여:
-사용자에게 특정 데이터베이스의 특정 테이블에 대한 권한만 부여할 수 있다.
-이는 권한을 보다 세밀하게 제어하고자 할 때 사용된다.
3. 작업별 권한 부여
(1)
(2) 권한 적용
(3) 권한 제거
4. 시나리오 코드
-- 원격지에서 접근하는 사용자 계정 생성
-- 루트 권한을 제외하고, 비밀번호 설정에 대한 제약이 있을 수 있다.
create user 'tenco2'@'%' identified by '1q2w3e4r5t!';
-- localhost 에서 접근 가능한 계정 생성
create user 'tenco2'@'localhost' identified by '1q2w3e4r5t!';
-- 사용자 계정 권한 확인
show grants for 'tenco2'@'%';
show grants for 'tenco2'@'localhost';
-- 작업별 권한을 할당
grant select,update,delete on mydb2.* to 'tenco2'@'%';
-- root 권한으로 새로운 사용자 생성 및 권한 할당
-- 권한 바로 적용하기 (세선 종료 후에 재접속하면 적용 됨)
flush privileges;
show grants for 'tenco2'@'%';
*전체 코드
-- 사용자 생성하기 (비밀번호 함께 설정)
-- 사용자 계정 생성은 원격지, 로컬 환경으로 나뉜다.
-- 원격지에서 접근하는 사용자 계정 생성
-- 루트 권한을 제외하고, 비밀번호 설정에 대한 제약이 있을 수 있다.
create user 'tenco2'@'%' identified by '1q2w3e4r5t!';
-- localhost 에서 접근 가능한 계정 생성
create user 'tenco2'@'localhost' identified by '1q2w3e4r5t!';
-- 사용자 계정 권한 확인
show grants for 'tenco2'@'%';
show grants for 'tenco2'@'localhost';
-- 작업별 권한을 할당
grant select,update,delete on mydb2.* to 'tenco2'@'%';
-- root 권한으로 새로운 사용자 생성 및 권한 할당
-- 권한 바로 적용하기 (세선 종료 후에 재접속하면 적용 됨)
flush privileges;
show grants for 'tenco2'@'%';
728x90
반응형