[MySQL] 원격 DB 접속하기

dondonee·2024년 6월 29일
0
post-thumbnail

개발용 맥에서 배포 서버에 설치한 MySQL을 조작하기 위해 원격 접속을 해 보았다.


권한 위임하기

# mysql -u root -p

배포 서버에서 MySQL에 접속한다.


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

mysql 데이터베이스를 선택한다.
user 테이블에서 생성되어 있는 사용자를 확인할 수 있다.


$ curl ipconfig.me

로컬 맥에서 외부 IP 주소를 확인한다.


# CREATE USER 'root'@'맥IP주소' IDENTIFIED BY '1234';
# GRANT ALL PRIVILEGES ON *.* TO 'root'@'맥IP주소 WITH GRANT OPTION;
# FLUSH PRIVILEGES;

맥 IP 주소의 root 계정을 생성한다.
모든 데이터베이스 모든 테이블의 권한을 부여한다.



방화벽 해제하기

# firewall-cmd --permanent --zone=public --add-port=3306/tcp
success
# firewall-cmd --reload
success

방화벽을 해제해야 할 수 있다.

나는 이미 배포 백엔드 서버에 MySQL을 연결하려고 3306 포트 방화벽을 풀어둔 상태여서 바로 연결이 되었다.


# firewall-cmd --list-ports

방화벽이 해제된 포트는 위 명령어로 확인할 수 있다.



연결 테스트하기

처음에는 MySQL Workbench로 접속하려고 했는데, 연결이 되었다고 하지만 DB 내용이 뜨지 않는다.

연결이 제대로 안됐나 싶어 로컬 터미널에서 MySQL에 직접 접속해보니 잘 된다. 😑

ysql -h 배포서버IP주소 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1830
Server version: 8.0.36 Source distribution

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

생각해보니 전에도 문제가 있었어서 DBeaver를 깔아 사용했었다. 아마 맥용 Workbench가 불완전한 것 같다.

DBeaver에서는 연결이 잘 되었다. 👍

0개의 댓글