# MySQL에 연결
conn = mysql.connector.connect(
    host="localhost",       # 또는 '127.0.0.1'
    user="lee2",   # 예: 'root'
    password="비밀번호",
    database="lee"  # 연결할 DB 이름
)

 

1. ❓ 사용자 이름/비번 정확한가요?

  • MySQL에서 아래처럼 접속해보세요:
mysql -u lee2 -p

그리고 비밀번호 Lee12345! 입력!

✅ 접속되면 Python에서도 될 확률 높고
❌ 안 되면 비번이 틀렸거나 계정이 잘못됨

 

비밀번호 인증방식도 확인하세요

 

2. 📛 정말 lee2라는 사용자가 있고, localhost에서 접속할 권한이 있는지?

MySQL 로그인 상태에서 아래 쿼리 실행:

SELECT user, host, plugin FROM mysql.user WHERE user = 'lee2';
  • 결과에 lee2 | localhost 가 없으면 문제!

👉 권한 추가하는 법:

CREATE USER 'lee2'@'localhost' IDENTIFIED BY 'Lee12345!';
GRANT ALL PRIVILEGES ON lee.* TO 'lee2'@'localhost';
FLUSH PRIVILEGES;

 

3. 🧙 비밀번호 인증 방식 체크 (auth_socket 문제?)

SELECT user, host, plugin FROM mysql.user WHERE user = 'lee2';
  • plugin이 auth_socket이면 Python 연결 안 됩니다. 😵

👉 아래처럼 바꿔주세요:

ALTER USER 'lee2'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';
FLUSH PRIVILEGES;
 
 

4. 🧪 참고: host="127.0.0.1"로 바꿔보기

간혹 MySQL이 localhost (소켓 접속)보다 127.0.0.1 (TCP 접속)을 더 잘 받는 경우도 있어요.

conn = mysql.connector.connect(
    host="127.0.0.1",
    user="lee2",
    password="비밀번호",
    database="lee"
)

 

💥 그래도 안 될 경우

  • mysql.server status 혹은 systemctl status mysql 등으로 서버가 제대로 켜졌는지 확인

+ Recent posts