예전부터 정리하려고 했던 내용이었으나 이제야 남기게 되네요.
Shell에서 MySQL 계정과 DB를 생성하는 방법을 되도록 간단하게 설명해드리겠습니다.
전체 과정을 순서대로 나열하자면 아래와 같습니다.
1. DB 계정 추가 (권한 설정)
2. 추가된 DB계정의 비밀번호 초기화
3. 추가된 계정이 사용하게 될 DB 생성
4. DB 접속 테스트
1. DB 계정 추가 (권한 설정)
mysql DB의 user테이블에 insert 문으로 계정을 직접 넣는 방법도 있으나 깔끔하지 못해 개인적으로는 잘 사용하지 않는 방법입니다. DB계정 추가 및 권한 설정은 예전에 작성한 포스트를 참고해주세요.
2. 추가된 DB계정의 비밀번호 초기화
1번에서 초기화한 계정의 비밀번호를 변경해주셔야 합니다. 방법은 mysql DB의 user 테이블에서 update 쿼리를 실행하면 됩니다.
UPDATE user SET Password = PASSWORD('설정할 패스워드') WHERE User = 'DB계정명';
3. 추가된 계정이 사용하게 될 DB 생성
이제 추가된 DB계정이 사용할 데이터베이스를 생성해줘야 합니다. 간단한 쿼리 한 줄이면 됩니다.
CREATE DATABASE 추가할DB명;
여기서 주의하실 점은 1번에서 계정 추가시 실행 했던 쿼리 “grant all privileges on DB명.* to”의 DB명과 동일해야 한다는 점입니다. 기존 DB에서 계정만 추가하시는 경우에는 이 과정은 패스합니다.
4. DB 접속 테스트
위 과정이 모두 끝났다면 Shell이나 외부 프로그램(HeidiSQL, SQLYog 등)을 통해서 접속 테스트를 해봅니다. 1번에서 localhost 접속권한만 추가하셨다면 Shell 내부에서만 접속이 가능하게 됩니다. 모든 외부 IP에서 접속이 가능하게 하려면 localhost외에 와일드카드(%)로 추가하셔야 합니다. 또는 일부 IP만 접속 허용하실 경우에는 와일드카드로 추가된 User 테이블의 레코드는 삭제하고 특정 IP로 추가해주시면 됩니다. (자세한 내용은 1번 DB 계정 추가 링크를 참고하세요.)
정리한 내용은 여기까지입니다.
이 내용에 대해서 질문이나 궁금한 점이 있으신분은 아래 코멘트 달아주세요. 최대한 빠르게 답변드리겠습니다.