DB 관리자가 로컬 또는 리모트 환경에서 MySQL 접속을 간편하게 만들 때 유용하다.
로컬 환경에서 실행되는 스크립트에서 호출하여 커넥션을 생성하는 방식으로 활용할 수 있다.
주요 장점:
스크립트에 MySQL 접속 정보를 직접 기재하지 않아도 된다.
관리자 패스워드를 주기적으로 변경할 때 수정 포인트를 최소화할 수 있다.
Python3에서 login-path로 커넥션 정보 전달하기
Ubuntu 24.04 이상은 PEP 668 정책으로 시스템 Python에 직접 pip install이 제한된다.
가상 환경(venv)을 사용해야 한다.
# venv 패키지 설치 (Ubuntu 24.04 minimal 기준)sudo apt-get install -y python3.12-venv# 가상 환경 생성 및 활성화python3 -m venv ~/mysql-venvsource ~/mysql-venv/bin/activatepip install mysql-connector-pythonpip install myloginpath
#!/usr/bin/env python3# -*- coding: utf-8 -*-import mysql.connectorimport myloginpath as myloginpath# login-path를 사용하여 MySQL 서버에 연결cnx = mysql.connector.connect(**myloginpath.parse('root'))# 연결된 MySQL 서버의 정보 출력print('Connected to MySQL Server version:', cnx.server_info)print('Host:', cnx.server_host)print('User:', cnx.user)# 커서 생성 및 쿼리 실행cursor = cnx.cursor()query = 'SELECT user, host FROM mysql.user'cursor.execute(query)# 쿼리 실행 결과 출력for (user, host) in cursor: print(f'{user}, {host}')# 커넥션 닫기cursor.close()cnx.close()