728x90
MySQL 데이터 베이스/사용자 생성 및 사용자 권한
@2024.04.30
Database 생성
- IF NOT EXISTS 옵션
- 데이터 베이스가 이미 존재하는 경우 새로운 데이터 베이스를 생성하지 않는다.
- CHARACTER SET와 COLLATE 옵션
- 데이터베이스의 문자 집합과 데이터의 정렬 순서를 설정
CREATE DATABASE [데이터베이스 명];
-- UTF-8 문자 집합 사용
-- 유니코드 케이스 인식 정렬
-- (대소문자 구분하지 않고 비교하는 정렬 방식)
CREATE DATABASE
IF NOT EXISTS my_database
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
사용자 생성
-- 외부 접속용
CREATE USER 'id'@'%' IDENTIFIED BY 'password'
-- 로컬 접속용
CREATE USER 'id'@'localhost' IDENTIFIED BY 'password'
- 예시
-- 외부 접속용
CREATE USER 'yoonD'@'%' IDENTIFIED BY '1234'
-- 로컬 접속용
CREATE USER 'yoonD'@'localhost' IDENTIFIED BY '1234'
권한 부여
GRANT ALL PRIVILEGES ON hr.* TO 'yoonD'@'%';
GRANT ALL PRIVILEGES ON hr.* TO 'yoonD'@'localhost';
- hr 데이터 베이스에 대한 모든 권한을 부여하며, 외부 및 로컬 접속 모두 허용
권한 적용
- 모든 권한에 대한 변경 사항을 적용하는 명령어
- MySQL의 권한 변경 사항을 즉시 적용시킨다.
FLUSH PRIVILEGES;
권한 삭제
- 사용자가 데이터베이스, 테이블 또는 다른 시스템 자원에 대해 가진 권한을 제거하는 것
- 특정 데이터베이스나 테이블에 대한 사용자 권한을 제거하려면 REVOKE 문 사용
-- hr 데이터베이스의 모든 권한 제거
REVOKE ALL PRIVILEGES ON hr.* FROM 'yoonD'@'%';
-- hr 데이터베이스의 테이블에 대한 INSERT, UPDATE 권한 제거
REVOKE INSERT, UPDATE ON hr.* FROM 'yoonD'@'%';
- 모든 권한을 제거하고 해당 사용자를 시스템에서 완전히 삭제하기
-- 모든 데이터베이스에 대한 권한을 제거
REVOKE ALL PRIVILEGES ON *.* FROM 'yoonD'@'%';
-- 모든 데이터베이스 권한을 부여하는 권한 제거
REVOKE GRANT OPTION ON *.* FROM 'yoonD'@'%';
-- 사용자 삭제
DROP USER 'yoonD'@'%';
-- 권한 테이블 새로 고침
FLUSH PRIVILEGES;
사용자 조회 및 삭제
사용자 조회
SELECT user, host FROM mysql.user WHERE user = 'yoonD';
특정 사용자 삭제
DROP USER 'yoonD'@'%';
DROP USER 'yoonD'@'localhost';
728x90
'MYSQL' 카테고리의 다른 글
[내장 함수] 숫자형 함수 (0) | 2024.05.05 |
---|---|
[내장 함수] 문자형 함수 (0) | 2024.05.05 |
SELECT절 (0) | 2024.05.05 |
Docker을 이용해 MYSQL 설치 (0) | 2024.05.04 |
데이터베이스 (0) | 2024.05.03 |