본문 바로가기

WEB

[WEB] Flask를 이용한 웹 사이트 만들기 환경 구축 (3)

반응형

이전 글에서 Flask를 실행하기 위한 폴더와 파일을 만들었다.

이번에는 MySQL을 설치하고 설정하는 과정을 작성할 것이다.

 

설치 과정

📌 우분투 서버 업데이트

$ sudo apt-get update

 

📌 mysql-server 설치

설치를 진행 할때 중간에 Password를 물어보면 설정해주면 된다 또는 그냥 빈칸으로 두고 넘어가면 우분투 서버와 동일한 비밀번호로 설정된다고 하긴 하는데 나는 그렇게 안 됐던거 같아 나중에 설정했던거 같다.

$ sudo apt-get install mysql-server

 

📌 mysql-server 설치

$ sudo ufw allow mysql

설정 과정

1️⃣ 

MySQL로 접속하여 데이터베이스와 테이블을 만들어 줬다. 

아래의 명령어를 치면 root 계정으로 mysql에 접속하겠다는 것이며 설정해 놓은 해당 계정의 패스워드를 입력해주면 접속이 된다. 난 root/root123으로 설정했다.

$ mysql -u root -p

 

2️⃣ 

난 웹 게시판 사이트를 만들기 위한 데이터베이스와 테이블을 설정할 것이다.

데이터베이스 명은 OS로 하고 만들어 줬다. 

mysql> create database OS;

 

3️⃣ 

이후 OS 데이터베이스를 사용하겠다는 명령어를 친 다음 회원가입한 사용자 계정들이 저장될 테이블을 만들어 줬다.

mysql> use OS;

create table user(
userID varchar(20),
userPassword varchar(20),
userName varchar(20),
userEmail varchar(50),
PRIMARY KEY (userID)
);

 

4️⃣ 

이후 작성한 게시판이 저장될 테이블을 만들어 줬다.

여기서 boardAvailable int 부분은 현재 글이 삭제되었는지 안되었는지를 확인하기 위해 작성했는데 (1=삭제X | 0= 삭제O)

파이썬 언어로 개발해서 그런가 딱히 코드를 작성할 때 쓰지 않고 현재 글이 삭제되었는지 안되었는지를 확인할 수 있었다. 그래서 굳이 넣지 않아도 될거 같다.

create table board(
boardID int,
boardTitle varchar(50),
userID varchar(20),
boardData DATETIME,
boardContent varchar(2048),
boardAvailable int,
primary key (boardID)
);

 

5️⃣

권한 부여를 하기 위한 명령어이다. (내 기억으로는 내가 이 부분을 하지 않았던거 같은데 왜 잘 작동이 되는거지)

계정ID는 아마 우분투 계정을 말하는 것일 거다.

 

원래 authentication_string 부분에 paaword라고 작성하였는데 mysql 5.7 이상 부터 password 대신 authentication_string으로 해줘야한다.

 

select host, user, password from user; 명령어를 실핸한 다음에는 localhost와 비밀번호가 같은지 확인해야 한다.

 

create user [계정ID]@'192.168.xxx.xxx' identified by [계정 비밀번호]

grant all privileges on [DB이름].* to [계정 ID]@'192.168.xxx.xxx' with grant option;

use mysql;
select host, user, authentication_string from user;

create user root@'192.168.xxx.xxx' identified by 'root123';
grant all privileges on OS.* to root@'192.168.xxx.xxx' with grant option;
select host, user, authentication_string from user;
flush privileges;
exit
반응형