배움/PYTHON

우분투 Flask, Mysql 설치

spaces25 2025. 5. 22. 09:19
반응형

Ubuntu 환경에서 Flask와 MySQL을 세팅하는 방법. 이 과정에서는 Python 가상환경을 사용하고, Flask 애플리케이션에서 MySQL과 연동할 수 있도록 설정합니다.


✅ 1. 시스템 업데이트

sudo apt update && sudo apt upgrade -y

✅ 2. Python, pip, venv 설치

sudo apt install python3 python3-pip python3-venv -y

✅ 3. 가상환경 생성 및 활성화

python3 -m venv venv
source venv/bin/activate

✅ 4. Flask 및 MySQL 연동 라이브러리 설치

pip install Flask flask-mysqldb

 

주의: flask-mysqldb는 libmysqlclient-dev가 필요하므로 먼저 설치해야 할 수도 있어요:

sudo apt install libmysqlclient-dev -y

✅ 5. MySQL 설치 및 설정

sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql

✅ 6. MySQL 사용자 및 데이터베이스 생성

sudo mysql -u root -p
-- 비밀번호 입력 후
CREATE DATABASE flaskdb;
CREATE USER 'flaskuser'@'localhost' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON flaskdb.* TO 'flaskuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

✅ 7. Flask 애플리케이션 코드 예시

app.py

from flask import Flask, render_template
from flask_mysqldb import MySQL

app = Flask(__name__)

# MySQL 설정
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'flaskuser'
app.config['MYSQL_PASSWORD'] = '비밀번호'
app.config['MYSQL_DB'] = 'flaskdb'

mysql = MySQL(app)

@app.route('/')
def index():
    cur = mysql.connection.cursor()
    cur.execute("SELECT NOW()")
    data = cur.fetchone()
    cur.close()
    return f"Database time: {data[0]}"

if __name__ == '__main__':
    app.run(debug=True)

✅ 8. 실행

python app.py

 

브라우저에서 http://localhost:5000 로 접속해서 확인하세요.


✅ (선택) UFW 방화벽 설정

sudo ufw allow 5000
반응형