안녕세계

Transaction IsolationTransaction Isolation은 데이터베이스에서 여러 트랜잭션이 동시에 실행될 때, 한 트랜잭션이 다른 트랜잭션의 변경 사항을 언제, 어떻게 볼 수 있는지를 결정하는 규칙입니다. 그리고 Transaction Isolation은 여러 트랜잭션이 동시에 실행될 때 서로의 작업에 영향을 주지 않도록 하는 역할을 합니다.Transaction Isolation LevelTransaction Isolation Level은 ANSI SQL 표준으로 READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE로 4가지가 있으며, MySQL에서 현재 세션에 설정된 Isolation Level을 확인하고 싶은 경우 다음 쿼..
들어가기 전에API 요청과 응답에는 entity를 사용하지 않고, API 스펙에 따라 별도의 DTO를 만드는 것을 권장합니다.🙅♀️ 요청/응답에 entity를 사용하면? 특정 API 전용의 DTO가 아니기 때문에 어떤 요청이 넘어올지 알기 어렵습니다.entity 정의가 바뀌면 API 스펙이 변경되어 API가 깨집니다.🙆♂️ 요청/응답에 DTO를 사용하면? entity와 presentation layer를 분리할 수 있습니다.entity는 DB에서 사용되는 데이터 구조를 정의하고 DB와 상호작용하는 클래스입니다.persentation layer는 클라이언트가 요청한 데이터를 받아 그 데이터를 가공하여 응답하는 역할을 합니다.예제 entity 정의@Entity@Table(name = "orders")..

MySQL 8.x 버전을 사용할 때면 항상 고통 받습니다.. 오랜만에 MySQL 관련한 오류 해결방법에 대해 포스팅하네요. 본 포스팅에서는 DBeaver에서 MySQL DB를 연결하려고 할 때 발생한 에러와 해결방법을 알아봅니다. 발생한 MySQL 8.x 에러 😢 해결 방법 다양한 해결 방법이 있지만 가장 쉽게 해결할 수 있는방법은 Driver properties 설정을 바꾸는 것입니다. Driver properties > serverTimezone > UTC로 변경합니다. 이제 다시 Test Connection을 하면 정상적으로 접속되는 것을 확인할 수 있습니다. 단, 한 가지 단점은 새로운 DB 연결 설정시마다 같은 작업을 해줘야합니다. 위 작업을 반복하지 않기 위해서는 MySQL Timezone d..

Mac에서 MySQL 삭제MySQL v5.7.21 기준 정상적으로 삭제되는 것을 확인하였습니다.아래 명령어를 터미널에서 한줄씩 실행하세요.homebrew 로 MySQL을 설치한 경우# ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) # 위 에러가 발생할 경우, 다음 파일을 제거하지 않은 상태로 재설치했을 경우 발생한 가능성이 높다. $ sudo rm -rf /usr/local/var/mysql $ sudo rm -rf /usr/local/bin/mysql* $ sudo rm -rf /usr/local/Cellar/mysql $ sudo rm -rf /usr/local/etc/my.cnfM..

MySQL 비밀번호 변경 (1) MySQL 실행 $ mysql -u root -p Enter password: (2) 비밀번호 변경을 위해 mysql 데이터베이스 사용 mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed (3) 현재 암호 확인 // mysql 5.x 는 "password" 또는 "authentication_string"로 확인합니다. mysql> select host, user, password from user; mysql> select host,..