컴퓨터 활용/노년에 즐기는 코딩

MySQL 사용자 fastapiuser가 외부 시스템(다른 PC 등)에서도 접속 가능

easyfly 2025. 5. 11. 07:37
반응형

MySQL 사용자 fastapiuser가 외부 시스템(다른 PC 등)에서도 접속 가능하도록 하려면 아래와 같은 설정 절차를 따라야 합니다. 이 과정을 개조식으로 정리합니다

[목표]


사용자 fastapiuser가 외부에서 MySQL 서버(예: 192.168.230.128)에 접속할 수 있게 설정


1. MySQL에서 fastapiuser에 외부 접근 권한 부여


-- 현재 사용자 계정 확인
SELECT user, host FROM mysql.user;

-- 외부 모든 IP 허용 (보안상 제한 IP로 설정 권장)
CREATE USER 'fastapiuser'@'%' IDENTIFIED BY '비밀번호';

-- 필요한 권한 부여
GRANT ALL PRIVILEGES ON fastapiDB.* TO 'fastapiuser'@'%';

-- 권한 적용
FLUSH PRIVILEGES;

> ※ %는 모든 IP를 의미합니다. 특정 IP만 허용하려면 'fastapiuser'@'192.168.230.%'처럼 작성하세요.


2. MySQL 설정 파일 수정 (서버 측 작업)


파일 위치 예시:

Ubuntu: /etc/mysql/mysql.conf.d/mysqld.cnf

Rocky Linux: /etc/my.cnf 또는 /etc/my.cnf.d/mariadb-server.cnf


sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

수정 항목:

bind-address = 0.0.0.0

> 기존에는 127.0.0.1로 되어 있어서 로컬 접속만 허용됩니다. 0.0.0.0은 모든 IP에서 접속 허용입니다.


3. 방화벽 포트 개방 (Ubuntu 기준 예시)


sudo ufw allow 3306/tcp

또는 방화벽이 켜져 있지 않다면 아래로 확인:

sudo ufw status


4. MySQL 서비스 재시작


sudo systemctl restart mysql

또는

sudo service mysql restart


5. 외부 PC에서 접속 테스트


명령 예시:

mysql -u fastapiuser -p -h 192.168.230.128 -P 3306


보안 팁


%는 개발용으로만 사용하세요. 운영환경에서는 IP 제한 또는 VPN 설정을 권장합니다.

방화벽 외부에 열어둘 경우 접속 암호를 반드시 복잡하게 설정해야 합니다.



반응형