728x90
[MySQL] 계정 생성 및 권한 부여
DB를 처음 생성할 때 root 계정이 생성된다. 관리자 계정은 데이터베이스에 대한 모든 권한을 가지고 있다.
관리자 계정 이외의 사용자들은 용도에 맞는 권한을 부여받아 이용하는 것이 일반적이다.
그럼 일반 사용자 계정을 생성하고 그에 맞는 권한을 부여하는 방법은 무엇일까?
user 확인
먼저 다음과 같이 MySQL에 접속해준다.
mysql -h <엔트포인트> -u <user명> -p<비밀번호>
다음과 같이 현재 user를 확인 할 수 있다.
use mysql;
select host, user, plugin, authentication_string from user;
계정 생성
-- 내부ip(localhost) 접속 가능 계정
CREATE USER '계정아이디'@'localhost' IDENTIFIED BY '비밀번호';
-- 외부ip 접속 가능 계정
CREATE USER '계정아이디'@'%' IDENTIFIED BY '비밀번호';
localhost의 경우는 내부 ip만 접속이 가능하며, %의 경우 외부 ip에서도 접속이 가능한 계정이 된다.
계정 권한 부여
-- 모든 DB에 모든 권한 부여
GRANT ALL PRIVILEGES ON *.* TO '계정아이디'@'호스트';
-- 특정 DB에 모든 권한 부여
GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '계정아이디'@'호스트';
-- 특정 DB에 특정 권한 부여
GRANT SELECT, INSERT, UPDATE ON 데이터베이스명.* TO '계정아이디'@'호스트';
권한 부여는 FLUSH PRIVILEGES 명령어를 통해 권한을 적용시켜야 하며,
권한 부여가 완료되었으면, 권한은 다음과 같이 확인할 수 있다.
-- 권한 적용
FLUSH PRIVILEGES;
-- 권한 부여 확인
SHOW GRANTS FOR '계정아이디'@'호스트';
계정 삭제
다음과 같이 drop, delete를 통해 삭제가 가능하다.
DROP USER '계정아이디'@'호스트';
DELETE FROM USER WHERE USER = '계정아이디';
참고
반응형
'💾 Data > SQL' 카테고리의 다른 글
[MySQL] With 문 (0) | 2024.03.14 |
---|---|
[MySQL] ROUND(), TRUNCATE() (0) | 2024.03.12 |
[MySQL] DATE_FORMAT (0) | 2023.11.21 |
[MySQL] 문자열 함수 (1) | 2023.11.09 |
[SQL] COUNT() 함수의 최대값 혹은 최대값을 가지는 값 찾기 (0) | 2023.11.08 |