[Tistory] [infra] AWS EC2 데이터베이스 연결하기

원글 페이지 : 바로가기

AWS EC2 데이터베이스 연결하기 spring project 배포하면서 공부한 내용 정리 입니다 ! 1. 문제 상황 2. 해결 방법 1. 문제 상황 전에는 빌드 오류, 이번에는 실행 오류가 발생했다. 1. Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
2. Caused by: java.net.ConnectException: Connection refused
3. java.lang.NullPointerException: Cannot invoke “org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(java.sql.SQLException, String)” because the return value of “org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.sqlExceptionHelper()” is null
4. Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set ‘jakarta.persistence.jdbc.url’ for common cases or ‘hibernate.dialect’ when a custom Dialect implementation must be provided) 실행 오류는 위와 같은 로그로 출력되었다. 살펴본 결과 데이터베이스와 통신이 불가해서 오류가 발생한 것이었다. 2. 해결 방법 RDS와 같은 클라우드 데이터베이스 사용없이 mysql을 클라우드 서버에 설치하여 로컬의 workbench로 연결하는 방법을 사용하고자 하였다. – 클라우드 서버에 mysql 설치 근데 mysql 설치하는 과정에서 멈춤 현상이 발생하길래 인스턴스를 중단하고 다시 시작한 후 설치를 하려고 했다. 그랬더니 위와 같이 아까 하던거 계속 하라는 문구 뜨길래 sudo dpkg –configure -a 를 통해 설치를 완료했다. – 클라우드 서버 mysql 파일 설정 /etc/mysql/mysql.conf.d에 가서 vi mysqld.cnf를 통해 vim으로 설정 파일을 열어준다. bind-address는 127.0.0.1으로 현재 로컬에서 들어오는 요청만 받는걸로 되어있기 때문에, 모든 네트워크에서 오는 요청을 허용하는 0.0.0.0으로 바꾼 후 :wq로 저장하려고 했다. 하지만 E45: ‘readonly’ option is set (add ! to override)가 발생하였다. sudo vim mysqld.cnf를 통해 vim을 열어 파일을 수정해주었다. – 클라우드 서버 mysql 접속 클라우드 서버 mysql에서 CREATE USER ‘유저 이름’@’%’ IDENTIFIED BY ‘비밀번호’;로 test유저를 만들어서 GRANT ALL PRIVILEGES ON *.* TO test@’%’;로 권한 설정을 해준 후 로컬의 workbench에서 test유저로 접속하려고 한다. 그리고 CREATE DATABASE cloudboard;로 데이터베이스를 만들어준다. – workbench 설정 오류가 난다. 방화벽 설정, 권한 설정, ip 주소 확인 등.. 해볼거 다했다고 생각하는데 안되는 중이다. whyrano.. whyrano.. 🥺 – workbench ssh 연결 구글링 했더니 SSH 연결을 하면 된다고 한다. 당장 시도해봤다. 오류가 난다. 그래서 SSH 비밀번호와 Key File 설정을 했더니… !! 성공이다. 로컬에서 쿼리를 작성하면 클라우드 서버의 mysql에 반영되고, 클라우드 서버의 mysql에서 쿼리를 작성하면 로컬의 mysql에 반영된다. 참고한 사이트 https://velog.io/@minji/AWS-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-RDS-%EC%97%86%EC%9D%B4-EC2%EC%97%90%EC%84%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-MySQL-qcm2f3nm [AWS, 스프링부트] RDS 없이 EC2에서 데이터베이스 사용하기( MySQL ) EC2 를 이용해서 데이터베이스를 관리하는 방법은 두가지가 있다. 하나는 AWS에서 제공하는 RDS를 사용하는 것이고, 하나는 EC2에 직접 디비를 설치하는 것이다.개인 또는 소수로 진행하는 프로젝 velog.io https://min-devlog.tistory.com/37 [AWS EC2 / SQL] EC2 MySQL과 Workbench SSH 외부접속 연결 (+ docker) + “server public key has changed workbench ~” 오류 EC2 내부의 docker로 띄워진 mysql에 Workbench로 접속하는 방법을 작성하였다. 1. Workbench Connections를 추가하려 + 버튼을 클릭한다. 2. 연결할 수 있도록 설정 정보들을 입력하고 [Test Connection]으로 확인 min-devlog.tistory.com https://velog.io/@njs04210/Server-MySQLWorkbench%EB%A1%9C-%EB%8B%A4%EB%A5%B8-%EC%84%9C%EB%B2%84-MySQL-%EC%9B%90%EA%B2%A9%EC%A0%91%EC%86%8D%ED%95%98%EA%B8%B0 [Database] MySQLWorkbench로 다른 서버 MySQL 원격접속하기 이 글은 로컬 PC의 MySQLWorkbench 를 이용해 네이버 클라우드 플랫폼에서 빌린 Sever 의 MySQL에 접속하는 과정을 다룹니다. (MySQL 설치는 구글링으로..)Server는 centOS-7 을 사용했습니다.Server를 구성하고 velog.io https://sectumsempra.tistory.com/80 Mysql workbench 외부접속 오류/Failed to Connect to MySQL at [serverIp] with user mysql을 서버에서 설치하고 workbench 에 연결하려고 하는데 그러기 위해서는 세가지 조건이 선행되어야 한다. 1) bind-address부분 주석처리 -> mysql을 외부에서도 접속 하도록 허용하는 작업 아래 코드 sectumsempra.tistory.com

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다