# 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 등으로 서버가 제대로 켜졌는지 확인
'mysql' 카테고리의 다른 글
| conn.commit() 빼먹지 마세요 (0) | 2025.04.24 |
|---|---|
| MySQL 기초 쿼리 사용법 (INSERT, UPDATE, SELECT, DELETE) (0) | 2025.04.24 |
| MySQL에서 사용할 수 있는 주요 데이터 타입 (1) | 2025.04.22 |
| MYSQL 비밀번호 설정과 ROOT 로그인 설정 (0) | 2025.04.22 |
| MySQL 사용자 계정 관리 사용자 조회 / 추가 / 권한 설정 / 삭제 (0) | 2025.04.21 |