[파이썬] MySQL 데이터베이스 연결과 사용자 인증

MySQL은 많은 웹 애플리케이션에서 데이터베이스를 관리하기 위해 가장 인기 있는 선택 중 하나입니다. 이 글에서는 Python을 사용하여 MySQL 데이터베이스에 연결하고 사용자 인증을 구현하는 방법을 알아보겠습니다.

MySQL 데이터베이스 연결하기

Python에서 MySQL 데이터베이스에 연결하려면 mysql-connector-python 모듈을 사용합니다. 이 모듈은 pip를 사용하여 설치할 수 있습니다.

pip install mysql-connector-python

다음은 Python에서 MySQL 데이터베이스에 연결하는 예제 코드입니다.

import mysql.connector

# MySQL 서버에 연결
db = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="database_name"
)

# 데이터베이스 연결이 성공한 경우
if db.is_connected():
  print("MySQL 데이터베이스에 연결되었습니다.")

# 연결 종료
db.close()

위의 코드에서 "localhost", "username", "password", "database_name"에는 각각 실제 MySQL 서버의 호스트, 사용자 이름, 비밀번호, 데이터베이스 이름을 제공해야 합니다.

사용자 인증하기

MySQL 데이터베이스에 연결한 후 데이터를 조회하거나 수정하기 전에 사용자 인증을 해야 합니다.

import mysql.connector

# MySQL 서버에 연결
db = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="database_name"
)

# 사용자 인증
cursor = db.cursor()
username = input("사용자 이름을 입력하세요: ")
password = input("비밀번호를 입력하세요: ")

sql = "SELECT * FROM users WHERE username = %s AND password = %s"
cursor.execute(sql, (username, password))
result = cursor.fetchone()

if result:
  print("인증되었습니다.")
else:
  print("인증에 실패했습니다.")

# 연결 종료
db.close()

위의 코드에서 "users"는 사용자 정보를 담고 있는 테이블 이름을 가리킵니다. 사용자가 입력한 사용자 이름과 비밀번호를 통해 해당 테이블에서 사용자를 조회하고 인증합니다. 인증이 성공한 경우 "인증되었습니다." 메시지가 표시되고, 실패한 경우 "인증에 실패했습니다." 메시지가 표시됩니다.

MySQL 데이터베이스에 연결하고 사용자 인증을 구현하는 방법을 알아보았습니다. 이를 기반으로 웹 애플리케이션 등에서 데이터베이스를 활용하여 다양한 작업을 수행할 수 있습니다.