본문 바로가기

db9

[Infra] AWS를 활용한 웹 애플리케이션 배포(2) - RDS를 통해 클라우드 환경에 MySQL 구축 안녕하세요. 지난 포스트에서는 웹 애플리케이션 배포를 위해 EC2 인스턴스를 생성하고, 생성한 인스턴스에 연결해보는 내용을 다뤘습니다. EC2를 통해 깃허브 레포지토리에 저장된 소스코드를 클론해서 받아올 수는 있지만, 서버를 실행시키려면 로컬 환경과 마찬가지로 DB가 설치돼있어야만 합니다. 따라서 오늘은 Amazon RDS를 통해 클라우드 환경에서 DB를 설치하는 내용을 포스팅하려고 합니다. 현재 회사에서는 오라클을 사용하고 있지만, RDS Free Tier가 제공하는 혜택을 받기 위해 MySQL을 채택했습니다. EC2 인스턴스를 생성하고 연결하는 과정이 궁금하신 분들은 아래 링크를 타고 이동해주세요. [Infra] AWS를 활용한 웹 애플리케이션 배포(1) - EC2 인스턴스 생성 및 접속 안녕하세요... 2024. 1. 6.
[MySQL] ERROR 1822 (HY000): Failed to add the foreign key constraint - 외래키 제약조건의 삭제 & 추가를 통한 외래키 변경 방법 들어가기에 앞서 본 게시물은 'MySQL 8.0' 버전을 이용한 '명령 프롬프트(cmd)' 환경에서 작성한 코드를 토대로 만들어졌습니다. 이번 게시물에서는 외래키 제약조건을 설정해주거나 외래키 설정을 바꿔줄 때 발생하는 오류를 해결하는 방법에 대해서 알아보겠습니다. 제거할 제약조건의 이름 확인 # 테이블명이 student인 테이블의 제약조건 목록을 확인 mysql> SELECT * FROM information_schema.table_constraints WHERE table_name='student'; +--------------------+-------------------+-----------------+--------------+------------+-----------------+-------.. 2021. 10. 2.
[MySQL] 데이터를 검색, 삽입, 삭제, 갱신하는 명령어 모음 및 예제 정리 - SELECT, INSERT, DELETE, UPDATE 들어가기에 앞서 본 게시물은 'MySQL 8.0' 버전을 이용한 '명령 프롬프트(cmd)' 환경에서 작성한 코드를 토대로 만들어졌습니다. 이번 게시물에서는 테이블 안에 저장된 데이터를 삽입, 갱신, 삭제하는 DML(Data Manipulation Language) 명령어에 대해서 알아보겠습니다. SELECT - 테이블 안에 저장된 데이터(튜플)를 검색 # student 테이블의 전체 속성에 대해서 존재하는 모든 데이터를 검색 mysql> SELECT * FROM student; mysql> SELECT student.* FROM student; mysql> SELECT stdnum, stdname, major, sex, birthdate, phonenum FROM student; mysql> SELECT.. 2021. 9. 29.
[MySQL] 사용자 권한을 부여, 조회, 취소하는 명령어 모음 및 예제 정리 - GRANT, SHOW, REVOKE 들어가기에 앞서 본 게시물은 'MySQL 8.0' 버전을 이용한 '명령 프롬프트(cmd)' 환경에서 작성한 코드를 토대로 만들어졌습니다. 이번 게시물에서는 데이터베이스의 사용자에게 권한을 부여하고 취소하는 명령어인 DCL(Data Control Language)에 대해서 알아보도록 하겠습니다. GRANT - 데이터베이스 사용자에게 권한 부여 # test@localhost 계정에 모든 권한 부여 mysql> GRANT ALL [PRIVILEGES] ON user TO test@localhost; Query OK, 0 rows affected (0.01 sec) # test1@localhost 계정에 SELECT, INSERT, UPDATE, DELETE, ALTER 권한 부여 mysql> GRANT SEL.. 2021. 9. 28.
[MySQL] 사용자 계정을 생성, 삭제 및 계정 목록을 확인하는 명령어 및 예제 정리 - CREATE USER, DROP USER 들어가기에 앞서 본 게시물은 'MySQL 8.0' 버전을 이용한 '명령 프롬프트(cmd)' 환경에서 작성한 코드를 토대로 만들어졌습니다. 이번 게시물에서는 root 계정 외에 별도의 사용자 계정을 생성하고 삭제하는 명령어를 알아보도록 하겠습니다. 사용자 계정 목록 확인 mysql> USE mysql; Database changed mysql> SELECT host, user, authentication_string FROM user; +-----------+------------------+------------------------------------------------------------------------+ | host | user | authentication_string | +------.. 2021. 9. 27.
[MySQL] 인덱스를 생성, 조회, 삭제하는 명령어 및 예제 정리 - CREATE INDEX, ADD INDEX, SHOW INDEX, DROP INDEX 들어가기에 앞서 본 게시물은 'MySQL 8.0' 버전을 이용한 '명령 프롬프트(cmd)' 환경에서 작성한 코드를 토대로 만들어졌습니다. 인덱스는 데이터베이스(스키마), 뷰와 마찬가지로 변경이 불가능하므로 생성, 조회, 삭제하는 명령어만 알아놓도록 합니다. CREATE INDEX - 인덱스 생성 및 정의 # student 테이블의 stdname 속성을 오름차순으로 정렬하는 name_idx 인덱스를 생성하고 UNIQUE 특성을 부여함 mysql> CREATE [UNIQUE] INDEX name_idx ON student(stdname [ASC]); Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0 'UNIQUE'가 사용되면 .. 2021. 9. 27.
[MySQL] 뷰를 생성, 조회, 삭제하는 명령어 및 예제 정리 - CREATE VIEW, SHOW CREATE VIEW, DROP VIEW 들어가기에 앞서 본 게시물은 'MySQL 8.0' 버전을 이용한 '명령 프롬프트(cmd)' 환경에서 작성한 코드를 토대로 만들어졌습니다. 뷰는 데이터베이스(스키마)와 마찬가지로 변경이 불가능하므로 생성, 조회, 삭제하는 명령어만 알아놓도록 합니다. CREATE VIEW - 뷰 생성 및 정의 mysql> DESC student; +-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | stdnum | varchar(10) | NO | PRI | NULL | | | s.. 2021. 9. 26.
[MySQL] 데이터베이스(스키마)를 생성, 조회, 삭제하는 명령어 및 예제 정리 - CREATE DATABASE(SCHEMA), SHOW DATABASES(SCHEMAS), DROP DATABASE(SCHEMA) 들어가기에 앞서 본 게시물은 'MySQL 8.0' 버전을 이용한 '명령 프롬프트(cmd)' 환경에서 작성한 코드를 토대로 만들어졌습니다. 데이터베이스(스키마)는 변경이 불가능하므로 생성, 조회, 삭제하는 기능만 알아놓도록 합니다. CREATE DATABASE(SCHEMA) - 데이터베이스(스키마) 생성 mysql> CREATE DATABASE mydb; Query OK, 1 row affected (0.01 sec) mysql> CREATE SCHEMA mydb2; Query OK, 1 row affected (0.01 sec) MySQL에서 'CREATE DATABSE'와 'CREATE SCHEMA'는 동일하게 데이터베이스를 생성하는 역할을 수행합니다. SHOW DATABASES(SCHEMAS) - 전.. 2021. 9. 26.
[MySQL] 명령 프롬프트(cmd) 환경에서의 접속 및 비밀번호 확인 & 변경 방법 들어가기에 앞서 본 게시물은 'MySQL 8.0' 버전을 이용한 '명령 프롬프트(cmd)' 환경에서 작성한 코드를 토대로 만들어졌습니다. 1. MySQL 접속 및 DB 사용 mysql -u root -p # MySQL 접속 # Enter password: 변경_전_비밀번호_입력 mysql> use mysql # MySQL DB 사용 # Database changed 여기서 주의할 점! 숫자 키패드를 사용하는 경우 'Num Lock'이 켜져 있어야 제대로 입력이 들어간다. 2. 현재 비밀번호 확인 mysql> select host, user, plugin, authentication_string, password_last_changed from user; host는 접속이 허용된 IP, user는 mysq.. 2021. 9. 25.