Database(11)
-
[Mac] MySQL root 비밀번호 변경하기
이슈 - root 계정 비밀번호 까먹어서 접근 불가... 방법 1. 혹시라도 mysql 서버가 켜져있지 않다면 실행시켜 주기 $ mysql.server start 아래와 같이 뜨면 정상적으로 실행됨 2. 비밀번호 없이 root 계정에 접근하기 $ mysql - u root 3. database [mysql]에 접속 $ use mysql; 4. 새로운 비밀번호 변경 쿼리 $ alter user 'root'@'localhost' identified with mysql_native_password by '변경할 비밀번호 작성'; 5. 현재 사용 중인 MySQL 새로운 설정을 적용 (ID, 패스워드 추가 & 수정될 경우는 환경 설정이 변경되었기 때문에 필요함) $ flush privileges; 6. 확인하기
2024.04.10 -
[MySQL] Temporary Table(임시테이블)
🔎 들어가기 전 회사에서 임시테이블을 이용하여 데이터를 조회하는 프로시저를 생성했었다. 그러던 중 특정 테이블을 조회했는데 해당 테이블에 있는 데이터가 조회되지 않았고, 테이블을 조회하기 직전에 호출했던 프로시저 내용이 조회되었다. 응.....? 갑자기 왜 이러지?.. 너무나 당황했다. 1차적으로 든 생각은 내가 호출한 프로시저 내부에서 임시테이블이라고 생성 또는 DROP한 테이블이 임시테이블이 아니라 그냥 테이블이었나? 다행히 임시테이블을 생성한게 맞았고, 실제 테이블명과 같게 생성하여 해당 세션에서는 임시테이블이 우선으로 보여지고 있는 상황이었다. (이런 실수를 하다니......sql 모드는 이런거 안잡아주나..?) 아무튼 실수를 통해 또 한가지 배웠다. 정말 감사하게도 개발 DB에서 배운게 다행!!..
2023.07.23 -
[DB] SQL과 NoSQL 개념
🔎들어가기 전 관계형 데이터베이스 vs 비관계형 데이터베이스 SQL 기반 데이터베이스 vs. NoSQL 기반 데이터베이스 관계형 데이터베이스 vs. NoSQL SQL vs. NoSQL 같은 듯 다른 말로 느껴지는데 각각 무슨 차이가 있는 걸까? SQL이 뭐고 NoSQL이 뭔지는 알지만 위 비교문들이 각각 같은 의미인지 다른 의미인지에 대해 헷갈려서 확실하게 공부하기 위해 포스팅을 하게 되었다. 이번에는 관계형 데이터베이스와 비관계형 데이터베이스에 대해 중점적으로 포스팅해보려고 한다. Chapter 1. 관계형 데이터베이스가 있다. 관계형 데이터베이스에서는 테이블의 구조와 데이터 타입 등을 사전에 정의 테이블에 정의된 내용에 알맞은 형태의 데이터만 삽입 가능 테이블의 관계가 구조화된 데이터의 모음이기 때문..
2023.07.02 -
[MSSQL] 테이블 컬럼 조회하기
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '테이블명';
2023.06.26 -
[MySQL] UNION (distinct) vs UNION ALL 차이
공통점 두 문법 모두 쿼리 결과를 합쳐준다 둘다 그리 좋은 SQL은 아니고, 테이블을 통합하는게 좋음 UNION ALL 보다는 UNION 중복 제거하는 쿼리가 당연히 느림 UNION (distinct) 중복을 제거하여 합쳐준다 SELECT 1 AS COL1, 100 AS MONEY UNION SELECT 1 AS COL1, 100 AS MONEY UNION SELECT 2 AS COL1, 200 AS MONEY UNION SELECT 2 AS COL1, 200 AS MONEY UNION SELECT 3 AS COL1, 300 AS MONEY UNION SELECT 3 AS COL1, 300 AS MONEY UNION SELECT 4 AS COL1, 400 AS MONEY UNION ALL 중복을 제거하지..
2023.06.25 -
[MySQL] 트랜잭션 죽이기
이슈 : MYSQL 프로시저 DROP FAILED metadata lock 걸린 상태 실행중인 트랜잭션 조회 쿼리 SELECT * FROM information_schema.innodb_trx; 해결방법 trx_state : running 인 상태 kill kill [trx_mysql_thread_id]; 방금 실행된 쿼리의 에러 사항 조회하는 쿼리 SHOW COUNT(*) WARNINGS; SHOW WARNINGS;
2023.06.24