[MySQL] 계정 설정

[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이 설치된 운영체제 자체의 방화벽 설정에 따라 접근이 차단될 수 있다.

사용예시

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';
호쌤(이광호)'s Picture

About 호쌤(이광호)

메가스터디IT아카데미에서 Java, Spring, Python, Frontend 등을 강의하는 IT 전문 강사이자 프리렌서 개발자 입니다.
https://www.youtube.com/@hossam-codingclub

Seoul, Korea http://www.hossam.kr