작성
·
48
1
Windows를 사용하면서 fastAPI 서버를 WSL(Windows Subsystem for Linux)에서 구동하고, MySql 서버를 Windows상에서 구동하는 경우에는 fastAPI를 통해서 MySql에 접속할 때 오류가 발생하는 경우가 있을 수 있습니다.
이는 fastAPI가 설치된 WSL와 MySql이 설치된 Windows가 별도의 머신으로 구성되어 서로의 localhost가 다르기 때문에 발생하는 문제입니다. 따라서 fastAPI에서 접속할 때 localhost가 아닌 Windows의 ip를 사용하여 접속(cmd창에서 ipconfig를 통해 확인)하셔야 합니다.
올바른 ip를 입력하시더라도 접속이 거부될 수 있는데, 이는 MySql에 접속하는 계정명이 "root"가 아니라 "root@localhost"이기 때문일 수 있습니다. 이를 해결하기 위해서는 아래의 sql문으로 새로운 유저 ID와 패스워드를 지정한 다음 이를 통해 접속하시면 됩니다.
CREATE USER 'fastapi'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON . TO 'fastapi'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;