본문 바로가기

DB/MySQL3

오랜만에 MySQL 접속하니 마주한 에러들 해결 정리 회사 맥북으로 MySQL을 사용하다가 내 맥북으로 새로운 프로젝트를 시작하기 위해서 MySQL 서버에 접속하려고 하니 여러 에러들을 마주했다. 1. sudo로 접속해도 mysql 서버에 접속되지 않는 문제 (비밀번호를 설정했는데 틀린 비밀번호로 접속해서 발생한 문제 같았음) 2. 터미널로 mysql 서버에 접속하는데 자꾸 호스트가 jdbc:mysql://localhost 로 설정되어서 Unknown MySQL server host 라는 에러 메시지가 나왔다. 해결 방법을 정리하자면, 1. 해결 sudo로 접속해도 mysql 서버에 접속되지 않는 문제 mysql 서버를 실행할 때 --skip-grant-tables 라는 옵션을 준다. 아래 명령어를 순차적으로 실행하면 된다. mysql.server stop.. 2023. 3. 29.
case when exists 값이 있는지 없는지 여부를 조건으로 두고 싶을 때 사용 가능 order by에도 쓸 수 있음 A테이블의 id를 참조하고 있는 B테이블에 row가 있는지 여부로 A테이블을 정렬할 때 다음과 같이 사용 가능 order by case when exists (select 1 from table_B where table_B.table_A_id = table_A.id) then 0 else 1 end 2022. 3. 27.
Real MySQL 04 서버 아키텍처 (1) - MySQL 서버는 MySQL 엔진과 스토리지 엔진으로 이루어져 있음 MySQL 엔진 - 커넥션 핸들러 : 클라이언트의 접속과 쿼리 요청을 처리함 - SQL 파서, 전처리기 - 옵티마이저 : 쿼리 최적화 담당 스토리지 엔진 - 실제 디스크 스토리지에 데이터 저장 - 디스크 스토리지로부터 데이터 읽어오기 MySQL 엔진은 하나지만, 스토리지 엔진은 동시에 여러개 사용 가능 테이블 생성 시 다음과 같이 스토리지 엔진을 지정할 수 있다. 해당 테이블에 대한 읽기, 변경 작업은 지정된 스토리지 엔진으로 처리하게 된다. CREATE TABLE test (id INT, name VARCHAR(30)) ENGINE=INNODB; - MySQL 엔진이 스토리지 엔진에서 데이터를 읽어오거나 저장하기 위해 핸들러를 거친.. 2022. 3. 7.