개발일기

[MySQL] 설치 및 db 생성하기 본문

오늘의 공부일기/장고 공부일기

[MySQL] 설치 및 db 생성하기

츄98 2023. 5. 24. 02:56

Window 10 환경에서의 MySQL 설치 및 db 생성에 대해서 정리해봅시다~!!

 

[MySQL 설치하기]

MySQL :: MySQL Downloads

 

MySQL :: MySQL Downloads

MySQL Cluster CGE MySQL Cluster is a real-time open source transactional database designed for fast, always-on access to data under high throughput conditions. MySQL Cluster MySQL Cluster Manager Plus, everything in MySQL Enterprise Edition Learn More » C

www.mysql.com

1. MySQL Community (GPL) Downloads   누르기!

2. MySQL Community Server 누르기!

3. Go to Download Page 누르기!

4. 운영체제 선택하고, 다운로드하기~

로그인 없이 다운로드를 원한다면, No thanks, just start my download를 누르면 다운로드가 가능하다..!

 

5. 설치파일 실행하기

5-1: choosing a setup type

custom 항목으로 설치하지 않는다면, developer default 선택하고 next 누르기

기본으로 되어 있는 Developer 는 개발자를 위한 도구들도 같이 설치해주고,

Custom 설치는 클라이언트나 서버만 선택해서 설치할 수 있고 자기가 원하는 항목만 선택해 설치할 수도 있다.

 

 

5-2: installation 항목에서 excute 클릭하고 설치 다 되기까지 기다리기

 

 

5-3: Product Configuration 항목은 next 버튼 누르기 (별거없음)

5-4: Type and Networking 에서 초기설정을 할 수 있다.

MySQL의 초기 포트번호는 3306으로 설정 되어 있어 충돌나는 상황이 없다면 기본 포트번호를 사용한다.

 

5-5: Accounts and Roles 에서 최상위 권한을 가진 root 비밀번호 설정해주기

5-6: Accounts and Roles 에서 User Accounts도 설정해주기

최상위 권한의 root의 비밀번호를 설정하고, MySQL user Accounts 에서 Add User 버튼을 클릭해 DB Admin 계정을 하나 생성한다. user Name은 아이디로 쓸 것, host는 어디서나 접근이 가능하도록 ALL HOSTs 로 설정해주기, Role는 DB Admin 으로 선택한다. 

 

*** root 비밀번호는 절대로 잊지 않을 수 있는 비밀번호로 설정하기 ***

 

** root로 접속하는 것보다 계정을 만들고, 계정에게 필요한 권한만 부여하고 생성된 계정을 활용하는 것이 보안에 좋다.

** 나중에 계정을 생성하는 것보다 초기에 계정을 미리 만들어두는 것이 편하다.

** 계정을 생성하면, 나중에 프로그래밍 할 때, DB에 연결된 계정은 root가 아니라 계정으로 로그인이 가능하다.

 

 

5-7: Windows Service 에서는 name은 변경하지 않고 초기 MySQL80으로 사용해도 문제없다.

 

5-8: Connect To Server 전까지 계속 next, execute, finish 누르기

password 부분에서 위에 설정했던 비밀번호 입력하기!!

 

5-9: 이후로 끝까지 execute, next, finish 누르면서 쭉 진행시켜~

 

5-10: shell이 자동으로 열리는데, \quit 입력해서 종료하거나 꺼주면 된다.

 

5-11: MySQL Workbench에는 MySQL Connections에 조금 전 설치하면서 만들었던 환경과 root, 지정했던 포트까지 나온다. 항목을 누르면 접속이 가능하며, 초기에 설정했던 root 비밀번호를 입력하면 된다.

 

자 이제 MySQL을 설치했으니 이제 db를 생성하고, vscode와 연결해보자~~

 

[DB 생성하기]  MySQL Workbench Query에 입력하고 실행하기

실행은 ctrl+C 버튼입니다~

mysql은 이어진 줄을 한 번에 실행한다. 따라서 콜론 ; 을 통해서 실행할 한 줄을 정해줄 수 있다.

create database [db명] character set utf8mb4 collate utf8mb4_general_ci;
use [db명];

#예를들면,
create database db_richmaker character set utf8mb4 collate utf8mb4_general_ci;
use db_richmaker;

 

[Vscode와 연결]  .env 파일 만들고 settings.py 일부 수정하기

# .env 파일에 들어갈 내용
SECRET_KEY = "시크릿키"
DATABASE_NAME = "MySQL DB이름"
DATABASE_USER = "MySQL 유저이름"
DATABASE_PASSWORD = "MySQL 비밀번호"


# settings.py 수정하기

# 먼저 secret_key 부분 이렇게 수정하기!!!!
SECRET_KEY = os.environ.get("SECRET_KEY")

# 그 다음 DATABASES
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # mysql 엔진 설정
        'NAME': os.environ.get("DATABASE_NAME"),  # 데이터베이스 이름
        'USER': os.environ.get("DATABASE_USER"),  # 데이터베이스 연결시 사용할 유저 이름
        'PASSWORD': os.environ.get("DATABASE_PASSWORD"),  # 유저 패스워드
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
            'charset': 'utf8mb4',  # 테이블 생성 자동으로 해줄때 쓸 인코딩
            'use_unicode': True,
        },
    }
}

 

[DB 생성] 터미널에 입력하기~

python manage.py makemigrations;
python manage.py migrate;

# 또는 python manage.py makemigrations [앱이름]

 

[만약, db를 지우고싶다면?]  MySQL Workbench Query에 입력하고 실행하기

# 데이터베이스 삭제
DROP DATABASE [db명];

# 잔여필드가 남아있다면 삭제
DROP TABLE django_admin_log;