MySQL) 사용자 추가
2023. 5. 4. 13:58
MySQL 설정 가이드
1. MySQL 스키마 선택
use mysql
을 통해 mysql 스키마 선택
2. 사용자 검색 (확인용)
select user, host from user
를 통해 해당 스키마의 user를 검색한다.
3. 사용자 생성하기
ex) 'test'@'localhost'
'test'라는 사용자를 로컬 호스트(localhost)에서만 접근이 가능한 사용자를 생성한다.
ex) 'test'@'%'
'test'라는 사용자를 모든 호스트에서 접근이 가능한 사용자를 생성한다.
ex) 'test'@'123.456.789.100'
'test'라는 사용자를 IP 주소가 123.456.789.100인 호스트에서만 접근이 가능한 사용자로 생성한다.
ex) 'test'@'192.168.%'
'test'라는 사용자를 IP 주소가 192.168.으로 시작하는 호스트에서만 접근이 가능한 사용자로 생성한다.
4. 사용자 제거하기
DROP USER '사용자';
DELETE FROM USER WHERE USER = '사용자';
5. 사용자 권한 부여하기
ex) GRANT ALL PRIVILEGES ON *.* TO '사용자'@'localhost'
전체 DB & 테이블에 모든 권한 부여
ex) GRANT ALL PRIVILEGES ON [DB이름].* TO '사용자'@'localhost';
특정 DB의 모든 테이블에 모든 권한 부여
ex) GRANT ALL PRIVILEGES ON [DB이름].[테이블명] TO '사용자'@'localhost';
특정 DB의 특정 테이블에 모든 권한 부여
ex) GRANT SELECT ON [DB이름].[테이블명] TO '사용자'@'localhost';
특정 DB의 특정 테이블에 SELECT 권한만 부여
ex) GRANT SELECT, INSERT ON [DB이름].[테이블명] TO '사용자'@'localhost';
특정 DB의 특정 테이블에 SELECT와 INSERT 권한 부여
ex) GRANT UPDATE(컬럼1, 컬럼2) ON [DB이름].[테이블명] TO '사용자'@'localhost';
특정 DB의 특정 테이블에서 지정된 컬럼에만 UPDATE 권한 부여
6. 사용자 생성 및 권한부여 한번에 하기
GRANT ALL PRIVILEGES ON *.* TO '사용자'@'localhost' IDENTIFIED BY '비밀번호';
사용자 생성하며 모든 DB & 테이블에 모든 권한 부여
# example
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY '0000';
7. 권한 반영
FLUSH PRIVILEGES;
❗️FLUSH PRIVILEGES: FLUSH PRIVILEGES 문은 MySQL 서버가 변경된 권한 설정을 다시 읽어들이도록 하는 명령어이며 이를 실행하지 않으면, 권한 설정 변경 내용이 즉시 적용되지 않을 수 있다.
하지만, MySQL 5.7.6 이후 버전에서는 GRANT 문을 실행한 후에 자동으로 FLUSH PRIVILEGES가 실행되기 때문에, 별도로 FLUSH PRIVILEGES 문을 실행할 필요가 없다.
'DB' 카테고리의 다른 글
커넥션 풀 및 데이터 소스 (0) | 2023.10.25 |
---|---|
JDBC (0) | 2023.10.25 |
MySQL) 프로시저를 사용하여 더미 데이터 만들기 (0) | 2023.05.04 |
MySQL) 서버의 MySQL intellij로 연동하기 (0) | 2023.05.04 |
MySQL) ubuntu에 MySQL 설치 (0) | 2023.05.04 |