[MySQL] 계정 설정
개인적으로 항상 매 프로젝트마다 사용하는 명령이지만 잘 외워지지 않아서 매번 자료를 참고해야 하는 내용입니다.
#01. root 패스워드 변경
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경 비밀번호';
#02. MySQL에 사용자 계정 추가하기
아래의 모든 명령어는 root로 수행해야 합니다.
1) 사용자 계정 생성하기
create user '아이디'@'접근허용호스트' identified by '비밀번호';
- 계정 생성은 mysql에 root로 로그인 한 상태에서만 가능
- 보통 아이디는 사용하고자 하는 데이터베이스의 이름과 동일하게 기입
- 접근 허용 호스트는 mysql에 접속 가능한 클라이언트(웹서버)의 IP주소
- Tomcat이나 Node.js가 MySQL과 같은 머신에 설치되어 있는 경우
localhost
라고 명시localhost
와::1
은 같은 의미
- 서로 다른 머신에 설치되어 있는 경우 접속 출발지의 IP주소(Node.js설치 장비)를 기입
- 접근허용호스트를
%
로 지정할 경우 모든 곳에서의 접근 허용 - 외부에서 접속 할 경우 MySQL이 설치된 운영체제 자체의 방화벽 설정에 따라 접근이 차단될 수 있다.
- Tomcat이나 Node.js가 MySQL과 같은 머신에 설치되어 있는 경우
사용예시
create user 'myschool'@'localhost' identified by '123qwe!@#';
create user 'myschool'@'%' identified by '123qwe!@#';
2) 데이터베이스에 대한 권한 부여
grant all privileges on 데이터베이스이름.* to '아이디'@'접근허용호스트';
- 데이터베이스이름 뒤의
*
은 허용하고자 하는 테이블의 의미함.(여기서는 모든 테이블)
사용예시
grant all privileges on myschool.* to 'myschool'@'localhost';