MariaDb,

 

관리자 계정으로 들어간다.

 

# 사용자 목록 확인

우선 사용자 목록을 확인해보자

 

전체적인 정보가 담겨있는 데이터베이스를 봐야하니

mysql db로 들어가자

 

user mysql;

 

이미 있는 계정이 궁굼하면

이 mysql db에 들어가있는 상태에서

select host, user from user;

라고 쿼리를 입력하면 아래와같이 호스트 / 아이디 로 나온다

 

 

 

# 사용자 생성

이제 id 는 test_id 접속 호스트는 localhost 비밀번호는 1234 로 계정을 생성해 준다하면

create user 'test_id'@'localhost' identified by '1234';

라고 입력하고 쿼리 ok가 나오면 성공이다

다시  목록을 확인해보면

아까 6개였던 표에서 7개줄로 변경되고 중간에 Localhost 에 test_id로 추가가되어있음을 확인 할 수 있다.

 

 

# 사용자 계정에 권한 추가하기 

계정을 생성해봤자 사실 이 시점에서는 아무것도 못한다.

그래서 계정에 할 수 있는 것에 대해 정의를 해줘야하는데

이때 권한을 어떠한 db에 대해 권한을 정의해준다.

 

테스트용도로 wiwi_blog_test 라는이름의 db를 미리 만들어주었고

이 db에 아까 만든 test_id계정의 권한을 주자

주려는 권한은 

select, insert, update, delete

이 네가지를 준다고하면 

 

grant select, insert, update, delete on wiwi_blog_test.* to 'test_id'@'localhost';

 

※ db명 뒤의(wiwi_blog_test의 뒤) 점(.) 하고 * 는 이 db에 있는 모든 테이블을 지칭한다.

 

쿼리입력후 쿼리 Ok가 뜨면 성공이다.

필요에따라 저 네개중 빼고 줄 수도 있다.

 

 

 

사실 이대로 접속해보려면 제대로 접속이 안된다.

이 권한변경에 대해 적용을 한다는 쿼리를 날려줘야한다( insert 후의 commit과 같은)

 

flush privileges;

이제 test_id로 wiwi_blog_test db의 검색,입력,수정,삭제를 할 수 있게 되었다!

 

localhost로 주었기에 물론 외부에서는 접속이 안된다. 하지만 이제 다른 db관리 프로그램으로 해당 db에 접근 할 수 있게 되어 gui환경으로도 편집 수정 확인을 할 수 있다!

 

# 사용자 계정에 주어진 권한 확인

제대로 권한이 들어갔는지 권한 확인을 하자면 

 

show grants for 'test_id'@'locahost';

 

wiwi_blog_test db의 모든 테이블에 대해 select, insert, update, delete가 되어있다고 잘 나온다 ㅎ 

 

# 계정 삭제

이제 이 계정을 삭제해보자 

drop user 'test_id'@'localhost';

 

 

역시 query ok가 뜬다면 성공한것이다

 

어느순간부터 mysql에서 수정시 update 문으로 user테이블 수정으로 비밀번호 수정이 안된다.

 

update user set password='user_id'@'host' identified by 'new_pw'

입력시 

COLUMN PASSWORD IS NOT UPDATEABLE 이라고 경고문이 뜬다.

 

 

 

기존 id가 wiwi이고 접속 호스트가 localhost 라면 이 계정의 비밀번호를 abcd1234로 변경한다하면

 

아래와 같이 하면된다.

 

우선 데이터베이스는 기존과같다.

 

root계정으로 접속한후

 

use mysql;

 

alter user 'wiwi'@'localhost' identified by 'abcd1234';

 

 

 

query ok 라고뜨면 끝이다 간단!

+ Recent posts