-
[리눅스] 우분투 서버 mysql에 MySQL Workbench로 접속하기 (feat. GCP 인스턴스)Backend/리눅스 2023. 5. 31. 15:05728x90
시작
분명 간단한 작업인데 난 애를 엄청 먹었다. 이정도면 모든 오류는 다 나에게 오는 듯...
mysql 설치는 아래 블로그에서~
서버 설정
방화벽 ufw 포트 개방
- 기본 mysql 포트인 3306 허용
sudo ufw allow mysql sudo ufw deny mysql
GCP 설정
인스턴스 방화벽 설정
- VPC 네트워크 -> 방화벽으로 이동하여 새로운 방화벽을 생성
- 적용할 인스턴스에 대해 0.0.0.0/0 범위에서 허용할 포트를 저장
MySQL 설정
mysqld.cnf 설정
- mysql.cnf 파일도 있기 때문에 헷갈리지 않도록 주의해야한다. (mysql.cnf 파일은 비어져 있음)
cd etc/mysql/mysql.conf.d vi mysqld.cnf
포트 주석을 제거하고 모든 ip에서 접근할 수 있도록 0.0.0.0으로 설정한다.
- default-authentication-plugin=mysql_native_password
- password의 방식을 지정해주는 것인데 선택!
mysql 사용자 생성
1. mysql 접속
mysql -u root -p
2. user 생성
mysql 데이터베이스를 접속하여 user를 생성한다.
use mysql; create user 'test'@'%' identified with mysql_native_password by 'test123'; GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'%'; FLUSH PRIVILEGES;
- 여기서 MySQL8의 기본 plugin은 caching_sha2_password 인데 나는 mysql_native_password로 사용했기에 with mysql_native_password 부분을 추가했다.
- 외부에서 접근해야하기 때문에 'localhost'가 아닌 '%'로 표시하여 외부ip에서도 해당 사용자로 접속할 수 있도록 한다.
- 이후 사용할 데이터베이스에 대해 권한을 지정하고 저장해준다.
생성한 사용자의 host를 사용하여 %로 잘 지정되어있는지 확인한다.
select host, user, plugin from user;
- 나는 pop로 생성했었기 때문에 다음과 같이 pop에 대해 host가 %인 것을 확인할 수 있다.
- pop@localhost와는 다르다는 것을 주의!
- Workbench 연결이 되지 않아 뭐가 문제인지 봤더니 pop는 없고 pop@localhost만 열려있었는데 pop로 접근하여 접근이 안됐었다...ㅜ
MySQL Workbench 접속
Connection 생성
- 1번에는 GCP 외부 IP를 작성
- Username은 %로 설정했던 user
- Password는 해당 user의 passwd
- Port는 변경했을 경우 변경
그러면 접속 완료~!
728x90'Backend > 리눅스' 카테고리의 다른 글