[MariaDB] 4. 외부 IP에서 로컬에 외부접속(127.0.0.1) 허용 for Mac
in Database on MySQL/MariaDB
맥북에서 외부 IP에서 로컬에 외부접속 허용하는 포스팅이다. 그렇다 이게 자주 가끔하면 매번 모른다. 바보인가 싶다. 쉽게 말하면 맥북환경에서 처음 로컬에 MySQL/MariaDB 설치해서 127.0.0.1 로 접근 해주는 포스팅이다.
본인은 Mac OS에서 Homebrew 로 MariaDB 10.5 이상을 설치한 경우이다.
1. MySQL/MariaDB 접속 허용
MySQL을 설치하면 기본적으로 로컬(localhost)에서만 접속이 가능하고 외부에서는 접속이 불가능하다. 그래서 DB Tool로 접속시에 localhost는 되지만 127.0.0.1 은 안된다.
이미지로 설명하면 이와 같다.
1-1. my.cnf 설정파일 수정
- /usr/local/etc/my.cnf
bind-address=0.0.0.0 #앞에 #을 붙여 주석처리
하튼~
우선 나는 개인 로컬에서 mysql user Id를 root로 하지만 실제에서는 root가 아닌 아이디를 설정 사용하는 것이 좋다. mysql에 접속한 후에 아래 포스팅 내용에 따라 실행하면 된다.
1-2. Macbook IP 확인
localhost의 IP인 127.0.0.1 IP가 아닌 MacBook의 실제 IP를 알고 계정에 외부접속 IP로 권한을 부여
해야한다.
1-3. Terminal로 IP 확인
$ ifconfig | grep inet
1-4. Finder 시스템환경으로 확인
Finder > 시스템 환경설정 > 네트워크
Homebrew MariaDB to listen ports 확인
$sudo lsof -i -n -P | grep mariadb
2. IP 외부접속 허용 변경
2-1. 모든 IP 허용
- %은 모든 아이피를 포함, localhost는 포함되지 않음
권한 부여
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '패스워드';
FLUSH PRIVILEGES;
MariaDB [mysql]> SELECT User, Host FROM mysql.user;
+-------------+-----------------------+
| User | Host |
+-------------+-----------------------+
| root | % |
| root | localhost |
| | linked2ev-macbook-pro |
| linked2ev | localhost |
| mariadb.sys | localhost |
+-------------+-----------------------+
2-2. 특정 IP 대역 허용
- 예: 192.240.xxx.xxx
권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.240.%' IDENTIFIED BY '패스워드';
FLUSH PRIVILEGES;
MariaDB [mysql]> SELECT User, Host FROM mysql.user;
+-------------+-----------------------+
| User | Host |
+-------------+-----------------------+
| root | 192.240.% |
| | linked2ev-macbook-pro |
| | localhost |
| linked2ev | localhost |
| mariadb.sys | localhost |
+-------------+-----------------------+
2-3. 특정 IP만 허용
- 예: 172.30.1.55
권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.30.1.55' IDENTIFIED BY '패스워드';
FLUSH PRIVILEGES;
MariaDB [mysql]> SELECT User, Host FROM mysql.user;
+-------------+-----------------------+
| User | Host |
+-------------+-----------------------+
| root | 172.30.1.55 |
| | linked2ev-macbook-pro |
| | localhost |
| linked2ev | localhost |
| mariadb.sys | localhost |
+-------------+-----------------------+
2-4. 외부접속 IP 삭제
권한 삭제
MariaDB [(none)]> DELETE FROM mysql.user WHERE Host='172.30.1.55' AND User ='root';
FLUSH PRIVILEGES;
MariaDB [mysql]> SELECT User, Host FROM mysql.user;
+-------------+-----------------------+
| User | Host |
+-------------+-----------------------+
| root | localhost |
| | linked2ev-macbook-pro |
| linked2ev | localhost |
| mariadb.sys | localhost |
+-------------+-----------------------+
[참고]
- https://mariadb.com/kb/ko/installing-mariadb-on-macos-using-homebrew/