배움/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
반응형