MYSQL

[MYSQL] mysql 외부접속을 위한 my.cnf 설정


[MYSQL] mysql 외부접속을 위한 my.cnf 설정


  2021-10-01  760 View 공개

MySQL 서버에서 외부 접속을 허용하기 위해 my.cnf (또는 일부 시스템에서는 my.ini) 파일에서 몇 가지 설정을 변경해야 할 수 있습니다. 다음은 주요 변경 사항입니다.

 bind-address 설정 변경

❶ my.cnf 파일에서 bind-address 지시문을 찾아서 변경합니다.
❷ bind-address를 0.0.0.0으로 설정하여 모든 IP에서의 접속을 허용합니다.

※ my.cnf 위치를 모르실 때에는 'mysql --verbose --help | grep my.cnf' 명령어로 찾아보세요.
 제 맥미니 2012 (카탈리나) 의 경우  /usr/local/etc/my.cnf의 위치에 있었습니다.
Bash
bind-address = 0.0.0.0
❶ 맥미니 2012 (카탈리나) 는  bind-address = 127.0.0.1 라는 설정값이 이미 등록되어 있어서 # 로 주석처리 했습니다.
❷ 이 설정은 MySQL이 모든 네트워크 인터페이스로 들어오는 연결을 수락하도록 만듭니다. 이 설정은 보안상 위험할 수 있으므로 방화벽 규칙 또는 다른 네트워크 보안 조치를 사용하여 원치 않는 접근을 제한하는 것이 좋습니다.

 MySQL 사용자 권한 설정

원격 접속을 원하는 사용자에게 필요한 권한을 부여합니다. MySQL 쉘에서 다음과 같이 명령을 실행합니다.
Mysql
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
❶ username과 password를 원하는 사용자 이름과 암호로 교체하세요.
❷ '%'는 모든 호스트에서의 접속을 허용합니다. 보안상 이것은 좋지 않은 선택일 수 있으므로 실제 IP 주소나 도메인 이름으로 제한하는 것이 좋습니다.

 MySQL 재시작

변경 사항을 적용하기 위해 MySQL 서버를 재시작합니다. 이 과정은 시스템에 따라 다를 수 있습니다. 대부분의 Linux 시스템에서는 다음과 같이 실행할 수 있습니다.
Bash
// 맥미니 2012 (카탈리나)
shell> brew services restart mysql
 
// 리눅스
shell> sudo service mysql restart

 방화벽 설정

-
MySQL 서버가 외부에서 접근 가능하게 하려면, 방화벽에서 3306 포트 (기본 MySQL 포트)를 열어야 합니다. 이 작업은 사용하는 방화벽 솔루션에 따라 다를 수 있습니다.
 
⚠️ 주의 : 위의 설정은 보안상 취약하게 될 수 있습니다. 특히 '%'와 같은 와일드카드를 사용하여 모든 IP 주소에서 접근을 허용하는 것은 위험합니다. 실제 운영 환경에서는 필요한 IP 주소만 허용하도록 권한을 설정하고, SSL 연결을 사용하거나 VPN을 통해 접속하는 것을 고려해야 합니다.
 
 
 
 


🚩 MYSQL 글 모음 (총 37 건)

[macOS] zsh: command not found: mysql 해결 방법

Last Updated : 2023-09-29
#MySql

Mysql DB생성 및 유저등록

Last Updated : 2023-09-29
#Mysql

Mysql 백업 및 복구

Last Updated : 2023-09-29
#MySql

MySql - POD 예제

Last Updated : 2023-09-29
#MySql

데이터베이스에서 작은따옴표(')를 다루는 방법 : SQL 인젝션 예방과 데이터 출력

Last Updated : 2023-09-29
#Mysql

[mySQL] 특정 레코드가 몇 번째인지 알아내는 방법

Last Updated : 2023-09-10
#mySQL #row_number