본문 바로가기

mysql2

(오류 해결)Docker로 띄운 MySQL 컨테이너 Django와 연동하기 로컬에서 띄운 Django와 Docker로 MySQL 컨테이너를 생성하여 연동하는 과정에서 여러가지 이슈가 생겨 포스팅을 한다. 로컬에 설치되어있는 MySQL은 5.7 버전이라 8.0버전의 MySQL 서버를 독립적으로 설치하고 관리하고 싶어 컨테이너를 생성하였다. 먼저 Docker 컨테이너 생성 과정이다. 도커가 설치되어있고, mysql 이미지를 가져온 상태라고 가정한다. docker run -d --name mysql-db \ -e MYSQL_ROOT_PASSWORD={PASSWORD} \ -p 3307:3306 mysql:latest 터미널에서 위의 명령어를 입력하면 컨테이너가 생성된다. 명령어를 자세히 살펴보면 -d : 백그라운드에서 실행 가능하도록 --name : 컨테이너 이름 -e : 환경변수 .. 2023. 3. 6.
트랜잭션이란? 트랜잭션 정의 트랜잭션은 데이터베이스의 상태를 변환시키기 위해 수행하는 작업의 단위이다. 여기서 작업의 단위는 하나의 명령어를 뜻하지 않는다. 명령어 하나가 될수도 있고 여러가지 명령어들이 모여 하나의 작업 단위가 될수도 있다. 트랜잭션의 특징 원자성(Atomicity) 트랜잭션은 데이터베이스에 전부 반영되던지 전혀 반영되지 않는다 사용자의 작업셋을 완벽하게 처리하거나 처리하지 못하면 원상태로 복구한다 일관성(Consistency) 트랜잭션이 성공적으로 처리되면 데이터베이스는 일관성을 가져야한다 독립성(Isolation) 두 개의 트랜잭션이 동시에 처리될 수 없다 하나가 처리될 동안 다른 하나는 대기 후 처리가 완료되면 진행된다 지속성(Durability) 성공적으로 트랜잭션이 완료되면 시스템이 고장나더.. 2023. 2. 17.