1. EC2 생성 먼저 EC2 인스턴스는 아래 설명한 방식으로 생성하자. [AWS] EC2란? (인스턴스 유형, 구매 옵션, 생성 방법) 1. EC2란? EC2는 AWS에서 가장 기본적이면서 널리 쓰이는 인프라이며 인터넷에 연결된 가상 서버를 제공한다. EC2를 사용하면 클릭 몇 번으로도 서버를 생성할 수 있어 실제 서버를 구축하는 것보다 ngp9440.tistory.com 2. RDS 생성 및 spring 설정 방법 RDS 생성 및 spring 설정 방법은 아래 포스팅을 참고하자. 배포하려는 spring mvc 서버는 RDS를 사용하고 있기 때문에 EC2환경에서 따로 MySQL을 다운 받아 사용하지 않는다. 방법은 아래 포스팅을 참고하자. [RDS, JDBC] RDS(MySQL)와 JDBC 연결하기 1..
분류 전체보기
1. AUTO_INCREMENT란? 테이블을 사용할 때 데이터의 수를 pk로 사용해야 할 때가 있다. 이 경우 새로 데이터를 insert할 때 데이터 수를 확인해야 pk값을 겹치지 않게 추가할 수 있다. insert마다 데이터 수를 계속 받아오는 것은 비효율적이므로 AUTO_INCREMENT를 통해 insert문을 보내면 자동으로 데이터 수가 증가하도록 할 수 있다. 2. 쿼리 및 결과 table 생성 쿼리문은 다음과 같다. CREATE TABLE plant ( plant_id INTEGER NOT NULL AUTO_INCREMENT, plant_name VARCHAR(20) NOT NULL, watering_cycle VARCHAR(20) NOT NULL, temperature VARCHAR(20) N..
1. RDS 생성 RDS 생성은 아래 정보를 참고하자. [RDS, JDBC] RDS(MySQL)와 JDBC 연결하기 1. 프리티어 RDS 요금 RDS는 MySQL, MariaDB 와 같은 서비스로 프리티어는 아래와 같은 기능을 무료로 제공한다. 매월 MySQL, MariaDB, PostgreSQL 데이터베이스를 실행하는 Amazon RDS 단일 AZ db.t2.micro, db.t3.micro ngp9440.tistory.com 2. MySQL workbench 설치 RDS에서 설치한 버전에 맞는 MySQL workbench를 다운받는다. 최신 버전의 경우 자신의 os에 맞는 최신 버전을 다운받으면 되지만 구버전의 경우 archive를 사용해야 한다. 현재 글 작성시 최신 버전은 8.0.33이고 RDS는..
1. 프리티어 RDS 요금 RDS는 MySQL, MariaDB 와 같은 서비스로 프리티어는 아래와 같은 기능을 무료로 제공한다. 매월 MySQL, MariaDB, PostgreSQL 데이터베이스를 실행하는 Amazon RDS 단일 AZ db.t2.micro, db.t3.micro 및 db.t4g.micro 인스턴스 사용량 750시간 매월 SQL Server(SQL Server Express Edition 실행)를 실행하는 Amazon RDS 단일 AZ db.t2.micro 인스턴스 사용량 750시간 20GB의 범용(SSD) DB 스토리지 자동 데이터베이스 백업과 사용자 실행 DB 스냅샷을 위한 백업 스토리지 20GB 자세한 설명은 아래 공식 페이지를 확인하자. Amazon RDS 프리 티어 | 클라우드 ..
1. 문제 상황 "ERROR: org.springframework.web.servlet.DispatcherServlet - Context initialization failed"는 스프링 설정 파일 구성 문제로 인해 발생하는 에러다. 내 경우 tomcat 실행 후 spring 컨테이너가 처음 구동될 때 해당 문제가 발생했다. 2. 해결 방법 내 경우 web.xml에 applicationContext.xml 파일의 설정이 잘 되어있지 않아 발생했다. 수정한 web.xml은 아래와 같이 applicationContext.xml 파일과 dispatcher-servlet.xml 파일 두 스프링 설정 파일에 대한 경로를 잘 설정하고 있다. (즉, 내 경우 applicationContext.xml의 경로를 추가하지..
1. 문제 발생 및 원인 .sql 파일로 데이터를 추가하는데 아래 같은 에러가 발생했다. 해당 문제는 프라이머리 키에 중복된 키가 들어가서 발생하는 문제다. 이로 인해 5개의 데이터가 추가되어야 했지만 4개 밖에 추가되지 않았다. 2. 문제 해결 plant테이블의 primary key는 plant_id로 아래와 같이 설정되어 있었다. plant_id INT NOT NULL AUTO_INCREMENT 이때 .sql 파일에서 다음과 같이 plant_id에 0~4를 넘겼다. INSERT INTO plant(plant_id, plant_name, watering_cycle, temperature, sunshine_period) VALUES (0, "로즈마리", ...); INSERT INTO plant(plan..
1. 문제 상황 .sql 파일을 불러와 테이블을 만들고 insert문을 수행했는데 아래와 같이 한글 데이터가 입력되지 않는 문제가 발생했다. 해당 database의 인코딩은 UTF-8로 올바르게 설정되어 있기 때문에 sql파일이 아니라 따로 한 줄씩 명령어를 입력해주면 해당 insert문들이 올바르게 동작했다. 2. cmd 창의 인코딩 cmd 창의 인코딩 형식을 살펴보니 chcp 949(ANSI/OEM-한국어)였다. 그래서 해당 설정을 chcp 65001(UTF-8)로 변경하여 source명령어를 실행시켜봤다. 해당 명령어를 수행하면 인코딩을 올바르게 변경할 수 있다. 3. source 명령 실행 source 명령어를 실행하여 데이터를 추가하고 select문을 통해 데이터를 확인해보면 아래와 같이 데이터..
1. 1822 Error Foreignkey 설정시 1822 에러가 발생하면 아래와 같이 "Failed to add the foreign key constraint. Missing index for constraint '(자식 테이블 이름)' in the referenced table '(부모 테이블 이름)'" 문구가 발생한다. 해당 문제는 부모 테이블에서 foreign key로 가져오려는 column이 primary 혹은 unique로 설정되어 있지 않기 때문이다. 따라서 foreign key로 가져오려는 columne을 primary나 unique로 꼭 설정해주자. 2. 3780 Error 3780도 1822와 비슷한 에러가 발생한다. 3780은 아래와 같이 "Failed to add the fore..