본문 바로가기

mysql9

[MySQL] Error:3780 CREATE Table 내 Column 생성할 때, int형 column 선언 시 incompatible 문제 (unsigned, signed 입력) 결론. 다른 table의 column(int type)에서 foreign key를 통해 새롭게 column(int type)을 생성할 때, 정수값(int, integer)이 갖는 범위를 일치시켜줘야 함. signed 또는 unsigned를 붙여서 선언해준다. 문제. MySQL에서 CREATE TABLE을 하면서, table 안에 column을 같이 선언해준다. 이때, int type의 column을 선언할 때, 단순히 int만 써주면 'Error Code: 3780' 에러가 발생한다. 정확하게는 이미 만들어진 Table에서 foreign key로 가져오는 column값과 내가 선언하려는 int type의 column값과 서로 일치해야한다. 이미 'product' table에서 'id' column을 'i.. 2023. 1. 11.
[mac M1] brew를 활용한 간단한 MySQL 설치 및 간단한 명령어 brew를 통한 MySQL 설치하기 brew install # 먼저 brew를 update brew update # install brew install mysql brew를 통한 mysql server 실행 # start brew services start mysql # stop brew services stop mysql local 환경에서 연습하는 것이기 때문에 root 비번을 따로 설정하지 않았음. 만약 하고 싶으면, 아래 명령어를 통해 password 설정 mysql_secure_installation mysql 접속(실행) # pw 없는 경우 mysql -uroot # pw 있는 경우 (한 번에 명령) mysql -uroot -p{설정한 비번} # pw 있는 경우 (비번은 따로 치기) mysq.. 2023. 1. 10.
[Query] JOIN 쿼리문의 이해 (국제표준 ANSI 조인 기준) 1. 조인(JOIN)의 개념 관계형 DB에서 가장 기본적인 쿼리문이자 중요한 문법이다. 두 개 이상의 테이블을 서로 연결하여 데이터를 추출하기 위한 기법이다. 관계형 DB에서는 조인을 통해 서로 다른 테이블 간의 정보를 원하는 대로 가져올 수 있다. JOIN 개념을 이해하고자 검색하거나 많은 SQL 도서에 시각자료는 동그라미 벤다이어그램을 활용하여 설명한다. 저 같은 경우에는 저거보다 좀 더 직관적으로 이해하기 위해서 직접 표를 그려서 공부했고, 훨씬 이해가 빨랐던 경험이 있다. 2. JOIN 문의 이해 - ANSI 조인 Inner Join 두 테이블을 연결해주는 Key값이 양쪽 모두 존재하여 공유되어야 한다. 즉, 동일한 ID(key)값을 공유하는 레코드끼리 연결한다. Left (Outer) Join .. 2022. 11. 12.
[ MySQL 아키텍처 ] 2. InnoDB 스토리지 엔진 아키텍처 (3) InnoDB 스토리지 엔진 아키텍처 (3) 7. 버퍼풀 MySQL 아키텍처를 공부하면서 InnoDB 스토리지 엔진 부분이 가장 방대한 것으로 알려져 있다. 그 InnoDB 스토리지 엔진 중 가장 핵심적인 부분이 바로 '버퍼 풀(Buffer Pool)'으로 불리는 디스크의 데이터 파일이나 인덱스 정보를 메모리에 저장해두는 공간이다. 아마 이번 글이 가장 길지 않을까 싶다. 괜히 처음 접하는 어려운 개념을 내 언어로 바꿔버리면 더욱 혼동이 올 것 같아서 되도록 읽는 책의 본문 내용을 그대로 쓰고자 했다. 반복적으로 읽어가면서 나만의 언어로 풀어가는 것이 맞다고 생각하기 때문이다. InnoDB 엔진 전체 구조 버퍼 풀(Buffer Pool)이란 MySQL InnoDB 스토리지 엔진에서 가장 핵심적인 부분으로서.. 2022. 10. 6.
[ MySQL 아키텍처 ] 2. InnoDB 스토리지 엔진 아키텍처 (2) InnoDB 스토리지 엔진 아키텍처 (2) 4. 잠금 없는 일관된 읽기 5. 자동 데드락 감지 6. 자동화된 장애 복구 InnoDB 스토리지 엔진 전체 구조 InnoDB는 MySQL에서 사용할 수 있는 스토리지 엔진 중 유일하게 레코드 기반의 잠금 기능을 제공하기 때문에 안정적으로 높은 동시성 처리가 가능하며, 성능 또한 우수하다. 4. 잠금 없는 일관된 읽기(Non-Locking Consistent Read) InnoDB 스토리지 엔진은 MVCC 기술을 이용해 잠금을 걸지 않고 읽기 작업을 수행한다. 잠금을 걸지 않기 때문에 InnoDB에서 읽기 작업은 다른 트랜잭션이 갖고 있는 잠금을 기다리지 않고, 읽기 작업이 가능하다. 격리 수준이 SERIALIZABLE이 아닌 READ_UNCOMMITTED나 R.. 2022. 10. 5.