local PC에서 MySQL DB 생성 및 Server 연결

run key·2023년 10월 15일
0

문제 해결

목록 보기
1/1
post-thumbnail

미래의 내가 다시 DB를 건드릴 일이 있을 때 참고하려고 쓰는 글

1. local PC에 MySQL 설치

http://dev.mysql.com/downloads/installer/

밑에 용량 큰 거로 설치하시면 됩니다.

2. MySQL WorkBench Forward Engineer 툴로 DB 생성

MySQL WorkBench는 이미 만들어진 DB Schemas에서 ERD 를 추출하거나 Schemas를 생성하기 전, ERD 모델링이 가능합니다. 모델링된 ERD의 확장자명은 .mwb이고, 미리 제작해둔 mwb 파일로 실제 물리 Schemas 생성 법을 알아볼 것입니다.

1) 모델링 파일 열기


Ctrl + O 또는 File - Open Model 을 통해 .mwb파일 확장자명을 가진 MySQL WorkBench 모델링 파일을 열어줍니다.

그러면 다음과 같이 EER Diagram 화면이 나타납니다.

2) Forward Engineer


상단의 Database - Forward Engineer... 이나 Ctrl + G 를 눌러줍니다.

3) DB 정보 입력

DB 정보를 입력하고 Next,
그 뒤에 나오는 정보들도 특별한 일 없으면 기본 default 값으로 넘겨줍니다.
그러면 Script 문이 생성되는데, 클립보드 복사나 파일로 Script를 저장할 수 있습니다.
저는 파일로 백업한 번 시켜준 뒤, 현재 접속중인 DBMS 서버에 실행시키려고 Next를 눌렀습니다.
그러면 자동으로 DB Schemas에 모델링 파일을 바탕으로 DB 객체들이 생성됩니다.

4) 새로고침

이렇게 생성을 해도 처음에 Schemas에 보이지 않는다.
이 때는 Schemas에 우클릭을 한 뒤 Refresh All을 눌러주면 된다.

3. Server 연결

아마 여기까지 한 상태에서 바로 서버랑 연결하려고 하면 ER_ACCESS_DENIED_ERROR 에러가 뜰 것이다.

해결 방법 : 권한 부여

이를 해결하기 위해서는 MySQL에서 host를 새로 만들어서 권한 부여를 하면 됩니다.

1) MySQL DB 로그인

위의 과정에서 이어서 온 거라면 이미 로그인이 되어 있기에 무시하면 된다.

2) 정보 가져오기

select host, user from mysql.user;

MySQL에 있는 host와 user정보를 가져옵니다.

지금은 이미 추가해놔서 그렇지만, 일반적으로 밑에 localhost만 보일 것이다.

3) 사용자 명과 비밀번호 설정

create user '사용자명'@'%' identified by '비밀번호';

여기서 %는 추후 호스트명이 됩니다.

4) 접근 권한 설정

grant all privileges on DB명.* to '사용자명'@'%';

5) 접근 권한 저장

flush privileges;
업로드중..

그런 뒤 다시 select host, user from mysql.user;를 실행해보면 본인의 사용자명이 추가된 것을 확인하실 수 있습니다.

6) 삭제

`drop user '사용자명'@'설정한 호스트명';
저 같은 경우는 호스트명이 %입니다.

이렇게 하면 DB 접속이 잘 되는 것을 확인할 수 있습니다!

profile
달리는 열쇠, 해결사가 되려고 노력하는 프론트엔드 개발자

0개의 댓글