이전 글에서 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
'WEB' 카테고리의 다른 글
[WEB] 취약한 HTTPS 관련 취약점 점검 방법 (0) | 2024.03.04 |
---|---|
[WEB] Flask를 이용한 웹 사이트 만들기 환경 구축 (2) (0) | 2024.02.29 |
[WEB] Flask를 이용한 웹 사이트 만들기 환경 구축 (1) (0) | 2024.02.29 |