MySQL

Airflow 활용한 DB Insert 예제 (M1, MacOS)

개요 MySQL과 PostgreSQL에 각각 테이블 생성 후 데이터 넣기 아래와 같이 병렬적으로 실행하는 예제 시나리오 테이블과 데이터를 추가하되 두 DB에 대한 접근 방식이 다름 MySQL은 직접적으로 넣기 PostgreSQL은 Airflow를 통해서 데이터 넣기 환경설정 사전에 MySQL과 PostgreSQL이 설치가 이미 되어 있음을 가정한다. 파이썬 설치 uv : https://docs.astral.sh/uv/getting-started/installation/ 프로젝트 초기화 프로젝트 디렉터리에서 다음과 순차적으로 실행 $ uv venv -p 3.11 $ source .venv/bin/activate Airflow 설치 먼저 환경변수를 설정한다. $ export AIRFLOW_HOME=$(pwd)/airflow 셸 스크립트 작성 및 실행 다음과 같이 셸 스크립트 작성 파일명 : install_airflow.

Docker-Compose와 Dockerfile을 활용한 Flask-MySQL 연동 예제

개요 Docker-Compose와 Dockerfile의 주요 기능을 이해한다. 각 파일의 위치와 주요 기능을 이해한다. 전체 프로젝트 파일 디렉터리 본 프로젝트의 전체 코드는 다음과 같다. 실제 코드 작성을 해야하는 곳은 다음과 같다. app.py requirements.txt init.sql docker-compose.yml Dockerfile docker_kubernetes_flask/ ├── app/ │ ├── __init__.py │ ├── app.py │ └── requirements.txt ├── db/ │ ├── init.sql │ └── data/ (This will be created by Docker) ├── docker-compose.yml └── Dockerfile 사전준비 사전에 Docker는 Desktop 설치가 되어 있다고 가정한다.

Pandas DataFrame to MySQL Database using iris Data

개요 이전 강의에 이어서 진행한다. (MySQL Select Clause via Python) 임의의 Pandas 데이터 프레임에서 MySQL DB로 추가하는 코드를 작성한다. 주요 라이브러리 설치 아래와 같이 주요 라이브러리를 설치한다. MySQL과 관련된 주요 Python 라이브러리를 설치한다. pip install mysql-connector mysql-connector-python pymysql SQLAlchemy seaborn pandas 코드 작성(mysql-connector) 아래와 같이 코드를 작성한다. # 파일명 : db.py import mysql.connector import pandas as pd import seaborn as sns mydb = mysql.connector.connect( host = "localhost", user = "root", passwd = "evan", database = "muldb" ) print(mydb) iris_df = sns.

MySQL Select Clause via Python

개요 이전 강의에서 출발한다. MySQL Table Creation and Insert Data via Python 데이터 조회 다음 코드를 작성한다. import mysql.connector mydb = mysql.connector.connect( host = "localhost", user = "root", passwd = "evan", database = "mulcampdb" ) print(mydb) my_cursor = mydb.cursor() query = """ SELECT * FROM users; """ my_cursor.execute(query) result = my_cursor.fetchall() for row in result: print(row) print("완료") 파일을 실행한다. $ python database.py <mysql.connector.connection_cext.CMySQLConnection object at 0x000001FE5A985F10> ('Evan', 'Evan@gmail.com', 30, 1) ('Evan', 'Evan@gmail.

MySQL Table Creation and Insert Data via Python

개요 이전 강의에서 출발한다. Connect To Database in Python 테이블 생성 아래 코드를 작성하면 테이블이 생성된다. import mysql.connector mydb = mysql.connector.connect( host = "localhost", user = "root", passwd = "evan", database = "mulcampdb" ) print(mydb) my_cursor = mydb.cursor() query = """ CREATE TABLE users ( name VARCHAR(255) , email VARCHAR(255) , age INTEGER(10) , user_id INTEGER AUTO_INCREMENT PRIMARY KEY ); """ my_cursor.execute(query) my_cursor.execute("SHOW TABLES;") for table in my_cursor: print(table[0]) 파일을 실행한다.

Connect To Database in Python

개요 Python과 MySQL을 연동하도록 한다. 프로젝트 폴더에 가상환경이 설치가 되어 있는 것으로 가정한다. MySQL은 기 설치가 되어 있는 것으로 가정한다. 라이브러리 설치 Python과 MySQL을 연동해주는 라이브러리 종류는 다양하게 있다. $ pip install mysql-connector mysql-connector-python 파일 작성 간단하게 파일을 작성한다. import mysql.connector mydb = mysql.connector.connect( host = "localhost", user = "root", passwd = "evan" ) print(mydb) 파일을 실행한다. $ python database.py <mysql.connector.connection_cext.CMySQLConnection object at 0x000002BF4E606090> (venv) Python 코드 활용하여 DB 생성 이번에는 코드를 활용하여 Schema를 생성한다.

MySQL 삭제, 재설치 가이드 on M1

개요 M1에서 MySQL을 설치 하고 Workbench에 접속하는 과정을 설명한다. 데이터 로드 시, ASCII 에러 과정 해결하는 방법도 살펴본다. (임시방편) 사전학습 brew 명령어를 알고 있는 분에 한해 작성을 하였다. 주의 아래 코드 복사할 시, $ 는 제외 후 복사한다. MySQL 실행 확인 후 프로세스 Kill 먼저 MySQL이 실행중인지를 확인한다. $ brew services list Name Status User File mysql started evan ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 서비스를 강제 종료한다. $ brew services stop mysql Stopping `mysql`... (might take a while) ==> Successfully stopped `mysql` (label: homebrew.

MySQL Workbench File Import Error in Mac

개요 MySQL Workbench에서 File을 불러올 때 에러가 발생했을 때 대처 요령을 소개한다. Workbench에서 File을 불러올 때 가끔 아래와 같은 아래가 발생하곤 한다. 해결방법은 MySQL Shell Script에서 직접 파일을 불러오는 방식이다. MySQL 재접속 기존에 Workbench에 접속해 있었다면 우선 종료를 한다. 재접속 전 Edit Connection 버튼을 클릭한다. Advanced Tab을 클릭한다. Others 메뉴에서 OPT_LOCAL_INFILE=1 을 입력한다. Test Connection 버튼을 클릭하여 정상적으로 접속이 되는지 재 확인한다. 이제 재 접속을 하면 Workbench의 설정은 완료가 되었다. Schema 및 Table 생성 마우스 우클릭 후 스키마를 생성한다.

MySQL Workbench ERD - 1

개요 MySQL Workbench를 통해 ERD 작업을 수행하도록 한다. Step 1 - 메뉴 선택 상단 메뉴에서 Database > Reverse Engineer 를 선택한다. Step 2 - Reverse Engineer Database Next 버튼을 클릭한다. Step 3 - Connect to MySQL Server 팝업창에서 root 또는 사용자 비밀번호 입력 후, 확인 버튼을 누르면 아래와 같이 연결이 될 것이다. Step 4 - Schema 선택 classicmodels 스키마를 선택한다. Step 4 - Connect to MySQL Server 비밀번호를 입력한다. Step 5 - 순차적으로 버튼 선택 Next 버튼을 클릭한다.

MySQL Error Code 1175 해결

개요 Delete 문법을 진행하는데, 아래와 같은 에러가 발생하였다. 옵션 설정을 변경하여 코드를 재실행한다. Safe Mode 끄기 아래 코드를 실행한다. SET SQL_SAFE_UPDATES = 0; Edit > Preferences > SQL Editor > Other 에서 Safe Updates 체크되어 있는 것을 삭제한다. 코드 재 실행 Delete 코드를 재 실행한다. DELETE FROM tasks WHERE start_date = DATE('2023-09-14'); 정상적으로 Delete 코드가 실행된 것을 확인할 수 있다.