본문 바로가기

Mysql8

직장인의 SQLD 합격기 (준비부터 합격까지) 📝 SQLD (SQL Developer)란: 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하면서 데이터를 조작하고 추출하는데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있는 개발자를 말한다. 출처: https://www.dataq.or.kr/www/sub/a_04.do SQLD 자격증은 민간자격증이지만 국가공인 자격증으로 데이터베이스 분야만 본다는 점에서 타 IT 취업용 시험(예를 들어 정보처리기사) 보다 전문성이 있습니다. 그리고 중요한 점은, 자격증 유효기간이 2년이라는 것입니다. '영구'로 갱신하려면 자격증 취득일 이후 1년 6개월 이후 2년 이내에 보수교육을 이수해야하니, 합격하신 분들은 꼭 잊지말고 교육을 받으시길 바랍니다. 저는 직장인 6년차로 평소.. 2022. 4. 11.
백업한 /var/lib/mysql 로 디비복구 방법 개발 환경 host server: Ubuntu mysql: mysql:8.0.17 docker Disclaimer mysql 복구 방법 A to Z 에 대한 글이 아니다. Ubuntu 서버에서 mysql 도커를 사용하다 실행이슈가 생겼고 복구할 수 있는 방법을 한가지 찾아낸 것 뿐이다. 비슷한 환경을 두고 비슷한 문제가 발생한 분들에게는 조금이나마 도움이 되도록 정리해본다. (일반적인 경우) 내용 mysql 도커 내부의 /var/lib/mysql 을 호스트의 특정 경로와 바인딩 된 상태로 개발했다. HOST_DATA_DIRECTORY=~/mysqlfolder/data docker run -d -p 3306:3306 -v $HOST_DATA_DIRECTORY:/var/lib/mysql mysql:8.0.1.. 2022. 3. 16.
[Mysql] JSON ARRAY의 모든 값을 변경시켜 UPDATE하기 회사에서 솔루션을 몇년전에 납품했고 디비 업데이트를 해야하는 상황이었다. 그동안 기존 버전과의 호환성을 위해 조심조심해서 백엔드와 디비 데이터 형식을 최소한으로 변경해왔지만 불가피하게 프로퍼티가 추가가 되었고, 기존 버전의 솔루션은 추가된 프로퍼티가 있는 모델을 사용하지 않고 있어 org.apache.ibatis.executor.result.ResultMapException 가 나는 상황... 어차피 솔루션 업데이트용 디비 테이블을 추가로 만든 상황이라 기존 솔루션이 해석할수있는 형태로 데이터를 전부 바꿔줘야했다. //기존 형식 [{"a":"string1", "b":"string2"},{"a":"string1", "b":"string2"}] //최근 형식 (프로퍼티가 c가 추가되었다) [{"a":"str.. 2021. 12. 24.
Mysql 프로세스 목록 확인 show processlist 2021. 6. 7.
[Mysql] 기존 테이블의 CREATE 문 보기 SHOW CREATE TABLE {테이블명} 2021. 3. 19.
Mysql 테이블 별 사이즈, Row개수 출력 Mysql 테이블 별 사이즈, Row개수 출력 select TABLE_NAME, TABLE_ROWS, DATA_LENGTH, INDEX_LENGTH, ROUND((DATA_LENGTH + INDEX_LENGTH)/1024/1024) AS 'TOTAL SIZE (MB)' from information_schema.TABLES where TABLE_TYPE='BASE TABLE'; 2021. 3. 19.
SQL의 DDL, DML, DCL 뜻 DDL(Data Definition Language) - 데이터 정의어 데이터베이스를 정의하는 언어이며, 데이터리를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 하는 언어. SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어. 종류 역할 CREATE 데이터베이스, 테이블등을 생성하는 역할을 합니다. ALTER 테이블을 수정하는 역할을 합니다. DROP 데이터베이스, 테이블을 삭제하는 역할을 합니다. TRUNCATE 테이블을 초기화 시키는 역할을 합니다. DML(Data Manipulation Language) - 데이터 조작어 정의된 데이터베이스에 입력된 레코드(저장된 데이터)를 처리(조회하거나 수정하거나 삭제)하는 등의 .. 2021. 3. 9.
Mysql 특정테이블의 전체 또는 일부 데이터만 dump 받기 //특정 테이블의 전체 데이터 덤프하기 ./mysqldump --single-transaction -h {호스트} -u {유저명} -p{비번} {디비명} {테이블명} > {로컬파일경로/파일이름.sql} //특정 테이블의 일부 데이터 덤프하기 ./mysqldump --single-transaction -h {호스트} -u {유저명} -p{비번} {디비명} {테이블명} --where="{조건문}"> {로컬파일경로/파일이름.sql} 2020. 10. 15.