728x90
👊 Mysql 계정 생성 & 권한 부여 알아보기
DBMS설치시 생성되는 최고 관리자 root계정
- DB모든 권한 생성
- 사용자들에게는 root를 통한 테이블 권한, DB권한, dml에 대한 적절한 권한 부여를 통한 계정 생성
후 계정 전달 사용
root계정은 DB의 모든 권한이 존재함에 따라 어플리케이션에서 직접 사용 불가 형태로 구성 필요
👊 DB접속을 통한 계정 조회
🌱 mysql root 권한 접속
>mysql -u root -p
🌱mysql 스키마 선택
>use mysql;
🌱사용자 목록 조회
>SELECT user,host FROM user;
👊 mysql 8.0 버전부터 시스템, 일반 계정 구분 사용

👊 User 생성
create user '사용자'@'host' identified by '비밀번호';
//ex1) 내부 접근을 허용하는 사용자 추가
create user 'test'@'localhost' identified by '0000';
//ex2) 외부 접근을 허용하는 사용자 추가
create user 'test'@'%' identified by '0000';
//ex3) 특정 ip만 접근을 허용하는 사용자 추가
create user 'test'@'123.456.789.100' identified by '0000';
//ex4) 특정 ip 대역을 허용하는 사용자 추가
create user 'test'@'192.168.%' identified by '0000';
👊 User 삭제
drop user '사용자';
//또는
delete from user where user='사용자';
//예시
drop user 'test'@'localhost';
👊 User 권한부여
// 모든 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on *.* to '사용자'@'localhost';
// 특정 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on DB이름.* to '사용자'@'localhost';
// 특정 데이터베이스의 특정 테이블에 모든 권한을 줌
grant all privileges on DB이름.테이블명 to '사용자'@'localhost';
// 특정 데이터베이스의 특정 테이블에 select 권한을 줌
grant select on DB이름.테이블명 to '사용자'@'localhost';
// 특정 데이터베이스의 특정 테이블에 select, insert 권한을 줌
grant select, insert on DB이름.테이블명 to '사용자'@'localhost';
// 특정 데이터베이스의 특정 테이블의 컬럼1과 컬럼2의 update 권한을 줌
grant update(컬럼1, 컬럼2) on DB이름.테이블명 to '사용자'@'localhost';
👊 Mysql8.0 부터 권한 설정

👊 User생성 및 권한 부여 일괄 처리 (mysql8.0 버전에서는 불가)
mysql 8.0 버전 부터는 사용자 생성 및 권한 부여 한번에 불가🙅♀️
mysql 8.0 버전 부터는 사용자 생성 및 권한 부여 한번에 가능🙆♂️

👊 권한 즉시 반영
FLUSH PRIVILEGES;
Ref. https://jay-so.tistory.com/67
Ref. https://velog.io/@eigenkyeong/MySQL-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%A1%B0%ED%9A%8C-%EC%83%9D%EC%84%B1-%EC%A0%9C%EA%B1%B0-%EA%B6%8C%ED%95%9C%EB%B6%80%EC%97%AC
Ref. https://hotinme35.tistory.com/56

728x90
'🩷02_DataBase > 01_SQL( Structured Query Language)' 카테고리의 다른 글
#Mariadb #Mysql #DB연결 #개발DB #운영DB (0) | 2024.06.25 |
---|---|
#The connection attempt failed: #java.io.EOFException #EOFException #DB접속에러 #권한문제 (0) | 2024.03.04 |
#Mysql #DB 명세서 #추출 #쿼리 #엑셀매크로포함 (1) | 2024.02.13 |
#noAccessToProcedureBodies=true #JDBC #MYSQL #5.7 #프로시저실행오류 (0) | 2023.09.11 |
#mysql #int #int(11) #tinyint(4) #tinyint(N) #int(N) #N값에대한정의 (0) | 2022.12.12 |
댓글