공부를 하던 중, DB를 만들때 항상 root 계정에 만들었는데 root 계정 말고 내가 따로 계정을 하나 생성해서 거기에 나의 데이터들을 관리하는게 더 나을까? 하는 생각에 계정(사용자)를 만들어보려고 한다.
HeidiSQL을 사용하다보니 직접 작성하는 법을 잊을 것 같아서 가능하면 직접 작성하는 방식으로 앞으로 해보려고 한다.
오늘은 사용자를 만들고 권한을 주고 테이블을 만들어보겠다 !
우선 root 계정에 접속을 해주자 !
그리고 서버의 설정 및 관리를 해주는 곳인 mysql로 이동하였다.
mysql로 이동하여 사용자를 생성 후 생성된 사용자 정보와 어떻게 생성되었는지를 확인해보았다.
사용자명과 암호 부분에 원하는 정보를 입력하면 사용자가 생성이 된다.
create user 사용자명@localhost identified by '암호';
localhost와 % 생성의 차이
사용자명@localhost로 생성하면 내부ip 즉 내 컴퓨터에서만 접근이 가능하다.
하지만 만약 '사용자명'@'%'를 하면 외부 ip에서도 접근이 가능하니 필요에 따라 생성하면 된다.
이 명령어는 dongjun@localhost 라는 사용자가 어떻게 생성 되었는지와 정보를 보여준다.
생성했던 명령문도 같이 보여준다 !show create user dongjun@localhost;
모든 DB의 권한을 주는 명령문이다.
identified by '비밀번호'는 없어도 되는 것 같지만 나는 넣어주었다.
원하는 데이터베이스.테이블에 대한 권한을 해당 사용자에게 권한을 주는 것이다.
grant all privileges on 데이터베이스.테이블 to dongjun@localhost identified by '비밀번호';
만약 한개의 데이터베이스에 대한 권한을 준다면 이런식으로 dbname.*로 해당 데이터베이스의 모든 권한을 줄 수 있다.
grant all privileges on dbname.* to dongjun@localhost identified by '비밀번호
특정 권한만 주고싶다면 이런식으로 가능하다.
grant select, insert, update privileges on dbname.* to dongjun@localhost identified by '비밀번호
만약 권한을 빼고싶다면 해당 명령문에서 grant를 revoke로 바꿔주면 된다!
위에서 만들었던 dongjun@localhost로 로그인을 한 것이다.
그리고 데이터베이스도 확인해봤는데 root에 있는 데이터베이스도 같이 있는 것을 볼 수 있다.
오늘은 DB 사용자 생성과 권한을 주는 것을 간단하게 알아보았다 !
최근에 MariaDB를 삭제했다가 다시 다운받아서 모든 데이터가 다 날라가있었다.
그래서 공부도 해보고 익혀볼겸 사용자와 권한에 대해 공부를 해보았다.
나중엔 다른 명령문들과 쿼리문들로 찾아오겠다 !