IT수업/데이터베이스

it 수업 5주차 (4) 계정생성, 삭제

워제하 2024. 1. 23. 17:37

 

실행 창(window+r) 에서 services.msc를 치면 mysql이 실행되는지의 유무를 확인 할 수 있다.

 

 

 

 

gui인 workbench에서 먼저 유저를 생성해 볼 것이다.

Administration의 Users and Privileges를 클릭 한 후 Add Acount를 클릭한다.

이름은 user10 접속위치는 localhost로 주었다.

 

그리고 홈으로 와서 새로운 localhost를 만들어 준다.

 

다시 root의 Users and Privileges에 들어와 user10을 선택한 뒤 Add Entry를 클릭해 testdb를 선택해 준다.

 

그리고 select권한만 준다.

 

그러고 apply 하면 이렇게 적용 된 것을 볼 수 있다.

 

 

모든 창을 끈 뒤 다시 user10@localhost에만 로그인하여 tbl_product에 select rows를 선택해 값을 입력하면 오류가 뜨는 것을 볼 수 있다.

이유는 user10에게는 select의 권한만 줬기 때문에 값을 입력하지 못하기 때문이다.

 

 

다음으로 cmd창에서 계정을 만들어 볼 것이다. 

우선 기본 cmd창에서 mysql -u root -p를 입력하여 root계정으로 접속해준다.

그리고 user20의 localhost로 비밀번호는 1234로 만들어 준다.

그러면 user20이 생성 된 것을 볼 수 있다.

(user와 host를 보고 싶을 땐 'use mysql'을 치고 'select user,host from user;'를 치면 된다.)

 

 

다음은 cmd로 원격접속 계정을 만들어 볼 것이다. 원격계정은 @뒤어 localhost가 아닌 '%'를 붙여주면 된다.

 

user30이 만들어진 것을 볼 수 있다.

 

 

다음으로 원격용 계정을 만들어 볼 것이다.

hostname에 원격으로 접속할 컴퓨터의 ip주소를 적으면 된다.

 

ip주소는 cmd창에서 ipconfig를 누르면 알 수 있다.

 

이렇게 만들어진 원격접속을 클릭하면 해당 ip주소의 컴퓨터에 접속이 된다.

 

cmd에서 접속할 땐 mysql -u user30 -p -h 해당 ip주소 (ex. mysql -u user30 -p -h 192.168.x.x)를 입력하면 사용할 수 있다.

 

 

다음은 계정을 삭제해 볼 것이다.

user10의 계정을 삭제해본다.

 

 

drop user 사용자id;

 

이렇게 user10의 계정이 사라진 것을 볼 수 있다.

 

 

 

 

 

 

문제)

Root접속 후 CMD 로 작업합니다
- User10DB,User20DB,User30DB,User40DB 생성
- user10,user20,user30,user40 @localhost 계정 생성
- user10은 User10DB에 대해서 Create권한 부여
- user20은 User20DB에 대해서 Create,Select권한 부여
- user30은 User30DB에 대해서 Create,Select,Insert,Update 권한 부여
- user40은 User40DB에 대해서 모든 권한 부여

[명령어]
create user 계정명@접속위치 identified by '패스워드';
show grants for 계정명@접속위치;
grant 명령어,명령어... on DB명.Table명 to 계정명@접속위치;

 

 

(모든 권한을 줄 때 grant all privileges on 테이블명.* to 계정id; 해도 된다)

 

GUI에서 users and privileges에 들어가보면 권한들을 확인해 볼 수 있다.