본문 바로가기
Database/mysql

[MYSQL / Database ] 사용자 조회, 생성, 제거 ,권한 부여

by JINJINC 2023. 4. 11.
728x90
반응형

MySQL 사용자 조회

 

use mysql;   -- mysql 스키마 선택 
select user,host from user ;  -- 사용자 목록 조회

 

 

사용자 생성

CREATE USER '사용자ID'@'HOST' IDENTIFIED BY '비밀번호';

flush privieleges;   => 적용시켜줌 

#내부 접근 허용하는 사용자 추가
CREATE USER '사용자ID'@'LOCALHOST' IDENTIFIED BY '비밀번호';

#외부접근 허용하는 사용자 추가
CREATE USER '사용자ID'@'%' IDENTIFIED BY '비밀번호';

#특정 IP만 접근을 허용하는 사용자 추가
CREATE USER '사용자ID'@'특정 IP주소' IDENTIFIED BY '비밀번호';

#특정 IP대역을 허용하는 사용자 추가
CREATE USER '사용자ID'@'192.168.%' IDENTIFIED BY '비밀번호';

사용자 제거 

drop user [username]@'host';
or
delete from user where user='[username]';

 

 

사용자 권한 부여

# 모든 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on *.* to user1@'192.168.1.134';

#특정 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on DB이름.* to user2@'192.168.1.%';

# 특정 데이터베이스의 특정 테이블에 모든 권한을 줌
grant all privileges on DB01.t1 to user3@'%';

#모든 데이터베이스의 모든 테이블에 select, insert권한을 줌 grant select,insert on *.* to user4@'localhost';

# 특정 데이터베이스의 특정 테이블의 컬럼1과 컬럼2의 update 권한을 줌
grant update(컬럼1, 컬럼2) on DB이름.테이블명 to '사용자'@'localhost';

 

사용자 생성과 권한부여 한번에 하기 

grant all privileges on *.* to '사용자'@'localhost' identified by '비밀번호'

사용자 비밀번호 변경

 

ALTER USER '유저명'@'HOST' IDENTIFIED BY 'NEW비밀번호';
OR
UPDATE mysql.user SET authentication_string = PASSWORD('NEW_USER_PASSWORD')
WHERE User ='user-name' AND Host ='localhost' ;

FLUSH PRIVILEGES;

 

 

권한반영

변경한 권한을 즉시 반영 시켜주려면 아래의 명령어를 실행시켜주면 됩니다.

FLUSH PRIVILEGES;

 

외부 접근해보기

조건  - HOSTPC에서

>MYSQL -H 192.168.1.X -U USER7 -P

>T1 테이블 생성 -> 데이터입력 -> select 확인

 

create user user7@'%' identified by '1234'
grant create,insert,select privileges on *.* to user7@'%';
flush privileges;

 

create user user7@'특정아이피' identified by '1234';
grant create,insert,select privileges on *.* to user7@'특정아이피';
flush privileges;

만약 외부 피시의 특정 아이피를 지정해 주었는데 접근이 거부된다면 나의 cmd 창에서 ipconfig 를 하여

 

 

<cmd 창에서 my sql 접속하기> 

cmd에서 mysql 실행하기

 

 

C:\program Files\MySQL\MySQL server8.0\bin 디렉터리에 들어가서 

>mysql -u [username] -p 
password : 

이렇게 하면 원하는 유저의 데이터베이스로 들어갈 수 있습니다. 

 

 

 

728x90
반응형

댓글