본문 바로가기

리눅스

MySQL 사용자(root)의 원격 접속을 허용하는 방법

반응형

MySQL 사용자(root)의 원격 접속을 허용하는 방법

wb1

  • MySQL 서버에 로그인
mysql -u root -p
  • root 사용자에 대한 호스트 정보 확인
SELECT Host, User FROM mysql.user WHERE user = 'root';
mysql> SELECT Host,User FROM mysql.user WHERE user = 'root';
+-----------+------+
| Host      | User |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
  • 원격 접속을 허용하는 root 사용자 생성
CREATE USER 'root'@'%' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

---

mysql> CREATE USER 'root'@'192.168.56.%' IDENTIFIED BY 'mysqlrootpassword1!';
Query OK, 0 rows affected (0.02 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.56.%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)
  • root 사용자에 대한 호스트 정보 확인
SELECT user, host FROM mysql.user WHERE user = 'root' AND host = '192.168.56.%';
mysql> SELECT user, host FROM mysql.user WHERE user = 'root' AND host = '192.168.56.%';
+------+--------------+
| user | host         |
+------+--------------+
| root | 192.168.56.% |
+------+--------------+
1 row in set (0.01 sec)
  • 변경 사항 저장
FLUSH PRIVILEGES;
  • 로그아웃
EXIT;

이제 MySQL root 사용자가 원격으로 접속할 수 있어야 합니다. 그러나 이것은 보안상 주의해야 하는 설정이므로 필요한 경우 추가적인 보안 조치를 취해야 합니다. 가능한한 root 사용자 대신에 특정 사용자를 생성하고 그 사용자에게 필요한 권한을 부여하는 것이 좋습니다. 또한 방화벽을 사용하여 원격 접속을 특정 IP 주소나 서브넷에서만 허용하는 것도 좋은 방법입니다.

원격 접속 테스트

  • MySQL 명령어로 원격 접속 테스트
mysql -u root -p -h <MySQL 서버 IP 주소>
  • Workbench로 원격 접속 테스트

wb2

 

728x90
반응형