다른 PC가 MySQL 데이터베이스에 연결할 수 있도록 하는 설정(Windows 버전)

페이지 업데이트 :
페이지 생성 날짜 :

운영 환경

MySQL을 사용합니다.
  • MySQL의 8.0
윈도우
  • 윈도우 11

필수 구성 요소

MySQL을 사용합니다.
  • MySQL의 8.0
윈도우
  • 윈도우 11
  • 윈도우 10
윈도우 서버
  • 윈도우 서버 2022
  • 윈도우 서버 2019
  • 윈도우 서버 2016
  • 윈도우 서버 2012 R2

전제 조건

  • MySQL 8이 설치되어 있습니다.

방화벽 확인

MySQL에서는 설치 시 다음 화면에서 방화벽을 설정하므로 추가 설정이 필요하지 않습니다.

만일을 대비하여 방화벽 설정을 확인하십시오. Windows 버전에 따라 표시까지의 조작이 다르기 때문에 시작 메뉴에 "방화벽"을 입력하여 표시합니다.

왼쪽 메뉴에서 "고급"을 선택합니다.

왼쪽에서 "인바운드 규칙"을 선택하면 "포트 3306"과 "포트 33060"이 목록에 추가 된 것을 볼 수 있습니다. 이것은 MySQL에 추가 된 것입니다.

구성 파일 확인

이전에는 구성 파일에서 변경해야 bind-address 했지만 현재 버전에서는이 항목이 존재하지 않으므로 설정을 변경할 필요가 없습니다.

Windows의 MySQL에 대한 구성 파일은 다음 위치에서 찾을 수 있습니다. ProgramData 폴더가 숨겨져 있으므로 파일 탐색기의 주소 표시줄에 직접 경로를 입력하거나 숨겨진 폴더가 보이도록 설정합니다.

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

사용자 액세스 권한 설정

MySQL 데이터베이스에 로그인하려면 사용자를 지정해야 하지만 기본적으로 모든 사용자는 로컬에서만 액세스할 수 있습니다. 따라서 여기서는 사용자에 대한 권한을 설정합니다.

이번에는 계정 추가 단계를 저장하기 위해 root 계정으로 작업하고 있습니다. 실제 작업에서는 별도의 사용자 계정을 만들고 해당 계정에 대한 연결을 허용하는 것이 바람직합니다.

연결을 허용하는 방법에는 명령을 사용하거나 GUI를 사용하는 두 가지 방법이 있습니다.

사용자 액세스 권한 설정(GUI 작업)

시작 메뉴에서 "MySQL -> MySQL Workbench 8.0 CE"를 선택하여 시작합니다.

시작하면 왼쪽 하단 모서리에 기본 인스턴스가 있으므로 선택합니다.

비밀번호를 입력하라는 메시지가 표시되므로 루트 계정으로 로그인하십시오.

왼쪽의 네비게이터 메뉴에서 관리 탭을 선택하고 사용자 및 권한을 선택합니다.

목록에서 사용 권한을 변경할 계정을 선택합니다. root 이 경우 계정을 선택했습니다.

Limit to Hosts Matching 항목이 있다고 생각하고 기본적으로 설정되어 localhost 있습니다. 즉, localhost에서만 액세스할 수 있습니다. 이 값을 연결을 허용하려는 PC의 IP 주소로 설정합니다. 보통으로 들어가면 1 단위 만 대상이되지만, 범위를 선택한다면 와일드 카드 "%"를 사용할 수 있으므로 "192.168.0.%"를 지정하면 "192.168.0.0"~ "192.168.0.255"가 허용됩니다.

입력한 후에는 오른쪽 하단의 "적용" 버튼을 클릭하여 적용할 수 있습니다.

사용자 목록도 변경된 것을 확인할 수 있습니다.

사용자 액세스 권한 설정(명령)

부록
연구 범위 내에 있기 때문에 확정적인 정보는 아니지만, MySQL 8에서는 사용자 생성 후 명령어로 권한 호스트를 변경할 수 없기 때문에 사용자 생성 시 호스트를 확인해야 합니다.

시작 메뉴에서 "MySQL -> MySQL 8.0 Command Line Client"를 선택하고 실행합니다.

암호를 입력하라는 메시지가 표시되므로 루트 암호를 입력합니다.

다음 명령을 입력하여 사용자 및 호스트 목록을 찾아볼 수 있습니다.

select user,host from mysql.user;

사용자를 작성하려면 다음 명령을 입력하십시오. 외부에서 연결하려는 PC의 IP 주소를 "권한 호스트"에 입력합니다. 와일드카드 "%"를 사용할 수 있으므로 "%"를 입력하면 모두 액세스할 수 있고 "192.168.0.0" ~ "192.168.0.255"를 입력하면 "192.168.0.%"가 허용됩니다. "%"를 포함하려면 작은따옴표로 묶습니다.

create user <ユーザー名>@<アクセス許可ホスト> identified by '<パスワード>';

예제 입력

create user user1@'192.168.0.%' identified by 'xxxxxxxx';

위의 명령으로 사용자를 생성할 수 있었지만 액세스 권한이 없으므로 다음 명령으로 권한을 추가합니다.

권한 유형에는 "ALL [PRIVILEGES]", "CREATE(데이터베이스, 테이블 등을 생성할 수 있는 권한)" 및 "SELECT(테이블 레코드 찾아보기)"가 있습니다. 권한 내용은 공식 홈페이지에서 확인하시기 바랍니다.

설정할 사용 권한은 데이터베이스 단위 또는 테이블 단위로 지정할 수 있습니다. "*.*"를 입력하면 모든 데이터베이스와 테이블에 대한 접근 권한을 설정할 수 있습니다.

grant <権限の種類> on <データベース名>.<テーブル名> to <ユーザー名>@<アクセス許可ホスト>;

예제 입력

grant all privileges on *.* to user1@'192.168.0.%';

설정을 반영하려면 다음 명령을 입력합니다.

flush privileges;

사용자 목록을 다시 확인하면 사용자 목록이 생성 및 구성되었는지 확인할 수 있습니다.

연결 확인

외부에서 연결할 수 있는 툴은 무엇이든 괜찮습니다만, 이번에는 MySQL의 공식 클라이언트인 Workbench와 접속을 해보겠습니다.

Workbench를 다른 PC에 설치한 경우 시작합니다.

MySQL 연결을 추가합니다.

연결에 필요한 설정을 입력합니다. DNS 이름을 사용할 수 있지만 어떤 이유로 Workbench에 연결할 수 없어서 IP 주소로 지정했습니다.

연결 확인 후 성공하면 정상 설정이라고 판단할 수 있습니다.