개발/DB
🗃️MySQL:: 사용자 정보 읽는 방법(e.g. 'root'@'localhost'?)
hyuunii
2023. 7. 13. 12:00
MySQL은 접속할 때 아래와 같이 입력한다.
mysql -h서버주소 -u아이디 -P포트 -p(암호)
예컨대
mysql -h127.0.0.1 -uroot -P3306 -p(암호)
ㄴ이때 -p 까지만 입력을 하고 엔터를 친 후 암호를 입력해도 된다.
이렇게 로그인한 USER는 'root'@'127.0.0.1'이 된다.
왜 이렇게 굳이 아이디와 서버 주소를 함께 적는 것일까?
MySQL의 사용자 계정은
단순히 사용자의 아이디뿐 아니라
해당 사용자가 어느 IP에 접속하고 있는지도 확인하기 때문
즉, MySQL의 사용자는 사용자의 계정뿐 아니라 사용자의 접속 지점(클라이언트가 실행된 호스트 명/도메인 또는 IP 주소)도 계정의 일부가 된다.
따라서 MySQL에서 계정을 언급할 때는 다음과 같이 항상 아이디와 호스트가 같이 명시돼야 한다.
다음의 사용자 계정은 항상 MySQL 서버가 가동 중인 로컬 호스트(127.0.0.1)에서 user01이라는 아이디로 접속할 때만 사용할 수 있는 계정이다.
만약 사용자 계정에 다음과 같은 계정만 등록돼 있다면 다른 컴퓨터로부터는 user01라는 아이디로 접속할 수 없다.
'user01'@'127.0.0.1'
만약 모든 외부 컴퓨터로부터 접속이 가능한 사용자 계정을 생성하고자 한다면 아래와 같이 사용자 계정의 호스트 부분을 '%'로 한다.
'%'는 일종의 와일드 카드로, 모든 IP 또는 모든 호스트 명을 의미한다.
'user01'@'%'