개발용 맥에서 배포 서버에 설치한 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에서는 연결이 잘 되었다. 👍