print( sjw.iq == 200) output : true

[MySQL] 외부접속 허용 본문

DATABASE/RDB

[MySQL] 외부접속 허용

sjwiq200 2021. 2. 25. 10:41
728x90
반응형

컴퓨터를 포맷할때마다

 

해당 명령어를 까먹게 되는데요 ㅠㅠ

 

이번 기회로 정리를 해보려고 합니다!

 

 

허용 아이피 변경

우선 해당 명령어를 통해 my.cnf의 위치를 파악해봅시다~!

mysql --verbose --help | grep my.cnf

 

출력되는 순서는 mysql이 참조하는 순서인데요! 

저는 brew로 설치하였고 /usr/local/etc/my.cnf에 있었습니다!

( ubuntu 에서는 /etc/mysql/mysql.conf.d/mysqld.cnf)

 

 

 

아래와 같이 변경해주시면 모든 아이피에 대한 접근이 허용됩니다!

# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
---------- 변경 전 -----------
#bind-address = 127.0.0.1
#mysqlx-bind-address = 127.0.0.1
---------- 변경 후 -----------
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0

 

 

그리고 restart mysql (저는 brew를 통해 설치하였기 떄문에...)

brew services restart mysql

 

 

루트 계정으로 접속해봅시다!

# 외부 접속을 허용하였을 경우, localhost로는 접속이 불가능합니다! ==> 127.0.0.1 등으로 접속해주세요~!

 

그리고 아래 명령어로 접속가능한 유저들을 확인해봅시다!

 

use mysql;
select host, user, password from user;

새로운 MySQL 계정 생성!

 

보안상 계정을 새로 만드는 것이 더 좋습니다!

 

// 모든 ip 허용
create user '아이디'@'%' IDENTIFIED by '비밀번호'

// localhost만 허용
create user '아이디'@'localhost' IDENTIFIED by '비밀번호'

// 특정 아이피 영역 허용
create user '아이디'@'192.168.0.%' IDENTIFIED by '비밀번호'

 

새로운 권한 적용

grant all privileges on 데이터베이스명.* to '유저명'@'호스트명';


// 모든 데이터베이스 접근 허용
grant all privileges on *.* to '유저명'@'호스트명';

// 모든 데이터베이스 , 모든 호스트 허용
grant all privileges on *.* to '유저명'@'%;

 

 

이렇게 되면 외부 접속 설정 관련은 끝이납니다!

 

728x90
반응형
Comments