반응형
MySQL 데이터베이스에서 모든 IP 주소에 대해 접속을 허용하려면, 몇 가지 설정을 변경해야 합니다. 주로 MySQL의 bind-address
설정을 변경하고, 사용자 권한을 업데이트하는 작업이 필요합니다.
1. MySQL 서버 설정 파일 변경 (my.cnf
또는 my.ini
)
1. MySQL 설정 파일을 엽니다.
- Linux: `/etc/mysql/my.cnf` 또는 `/etc/my.cnf`
- Windows: MySQL 설치 디렉토리 내 `my.ini`
2. `bind-address` 항목을 수정합니다. 기본적으로 `127.0.0.1`로 설정되어 있어, MySQL 서버가 로컬 호스트에서만 연결을 허용합니다. 이를 `0.0.0.0`으로 변경하면 모든 IP에서 접속을 허용할 수 있습니다.
3. MySQL 서버가 특정 IP 주소에만 바인딩되도록 설정되어 있을 수 있습니다. 이를 수정하려면 MySQL 설정 파일(`my.cnf` 또는 `my.ini`)을 수정해야 합니다.
bind-address = 0.0.0.0
이렇게 하면 MySQL 서버가 모든 IP 주소에서의 접속을 수락하게 됩니다.
2. 설정 파일을 수정한 후, MySQL 서비스를 재시작해야 합니다.
sudo systemctl restart mysql
3. MySQL 사용자 권한 수정
MySQL 사용자 계정이 특정 IP에서만 접속을 허용하도록 설정되어 있을 수 있습니다. 이 경우, 사용자 권한을 업데이트하여 모든 IP에서 접속할 수 있도록 해야 합니다.
- MySQL에 로그인합니다.
mysql -u root -p
- 원격 접속용 사용자 생성
'''
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
'''
- 특정 사용자에 대해 모든 IP에서 접속을 허용하려면, 사용자 권한을
'%
'로 수정합니다. 예를 들어,username
사용자에 대해 모든 IP에서 접속을 허용하려면 아래와 같이 입력합니다.
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
'%'
는 모든 IP 주소를 의미합니다.ALL PRIVILEGES
는 해당 사용자에게 모든 권한을 부여합니다. 필요에 따라 권한을 조정할 수 있습니다.
- 권한을 적용하려면 아래 명령을 실행합니다.
FLUSH PRIVILEGES;
4. 방화벽 설정 확인
MySQL 서버가 실행 중인 머신에서 방화벽이 설정되어 있다면, 해당 포트(기본적으로 3306)가 외부에서 접근 가능하도록 방화벽 규칙을 추가해야 할 수 있습니다. 예를 들어, Linux에서 ufw
를 사용 중이라면 다음과 같이 규칙을 추가할 수 있습니다.
sudo ufw allow 3306
5. MySQL 연결 테스트
이제 외부에서 MySQL에 접속할 수 있어야 합니다. 외부 머신에서 MySQL 클라이언트를 사용하여 접속을 테스트합니다.
mysql -u username -p -h your_mysql_server_ip
위 단계를 통해 모든 IP 주소에서 MySQL 서버로의 접속을 허용할 수 있습니다. 보안상 주의할 점은, 실제 운영 환경에서는 IP 접근을 제한하거나 방화벽, VPN 등 보안 조치를 추가하는 것이 좋습니다.
반응형
'DB > MySQL' 카테고리의 다른 글
[ MySQL ] 데이터 타입 알아보기 (0) | 2024.12.17 |
---|---|
[ MySQL ] COLUMN_KEY 사용하기 (1) | 2024.12.17 |
[ MySQL ] Schema - 테이블 구조 확인하기 (0) | 2024.10.30 |
[ MySQL ] CREATE USER - 사용자 생성하고 DB 할당하기 (0) | 2024.10.15 |
[ MySQL ] root 사용자 비밀번호 변경하기 (0) | 2024.10.06 |