user테이블은 mysql db에서 관리한다
mysql이 익숙하신 분들에게는 너무나 기초적인 사항이지만 mysql 초보자는 이 문제 때문에 허우적...
'관리자권한을 부여받은 유저들 목록을 볼 수 있는 user 테이블은 도대체 어디서 관리하는가' 를 무척 궁금했던 저는 이제야 이런 깨달음을 알게되어 이 과정을 기록해봅니다.
문제발생
특정 테이블의 user를 검색하려는데 이렇게 에러가 떠서
도대체 내가 adduser 한 유저들과 grant로 권한 부여한 유저들은 어디서 확인할 수 있는지 궁금했습니다.
해결과정
전체 database를 확인해보았습니다.
show databases;
database들 중, 'schooldata_lg'라는 이름을 가진 데이터베이스를 접근을 합니다.
use schooldata_lg;
user라는 테이블은 mysql에서만 존재한다
이 사실을 알게되고 다시한번 체크해보았습니다.
mysql라는 이름의 데이터베이스로 접근합니다.
use mysql;
user테이블의 user, host를 검색합니다. password까지 체크하려면 아래와 같은 명령어로 체크해봅니다.
select user,host,password from user;
user테이블에 지금까지 추가된 user, host, password 정보가 작성되어있음을 보실 수 있습니다.
특정 아이디에 권한 부여하기
지금은 use mysql; 해놓은 상태라서 mysql 이라는 데이터베이스 안에 접근되어있는 상태입니다.
저는 hj 라는 아이디가 user테이블의 host부분에 추가되어있음을 확인하였습니다.
hj라는 아이디가 schooldata_lg 테이블에 권한을 주고 변경된 권한을 적용합니다.
grant all privileges on schooldata_lg.* to 'hj'@'%';
flush privileges;
hj라는 아이디가 어느테이블에 어떻게 권한이 부여되었는지 확인합니다.
show grants for 'hj';
그러면 hj가 어느테이블에 어떻게 권한이 부여되어있는지 보입니다.
hj라는 아이디가 schooldata_lg 테이블에 모든 권한이 부여되었다고 확인이 되었습니다.
기초는 철저히....ㅠ.ㅠ
댓글