본문 바로가기

mysql48

Recursive 구문을 활용한 연,월 dummy 데이터 생성 Mysql 기반으로 년,월 dummy 데이터를 생성해야 할 일이 있어서 만들었습니다. #년 올해 기준으로 +- 2년 5년치를 나오게 쿼리를 만들었음. WITH RECURSIVE A AS ( SELECT DATE_ADD(NOW(), INTERVAL -2 YEAR) AS n UNION ALL SELECT DATE_ADD(n, INTERVAL 1 YEAR) AS n FROM A WHERE n < DATE_ADD(now(), INTERVAL 2 YEAR) ) SELECT DATE_FORMAT(n, '%Y') AS n FROM A n | ----+ 2021| 2022| 2023| 2024| 2025| #월 월은 1-12월 까지의 데이터가 나오게 만들었음. WITH RECURSIVE mon_date AS (SELE.. 2023. 8. 14.
다른 서버에 Mysql 이관하기(mysql 설치,mysqldump 사용) 이번 글을 Mysql을 다른 서버에 이관하는 방법을 정리한 글입니다. 제가 실제로 작업할 환경을 바탕으로 테스트한 내용이며, 시나리오 형식입니다. -시나리오- OS 모종의 이유로 재구축이 필요하게 되었습니다. OS의 버전은 동일합니다. DBA의 입장에서 기존에 쓰던 mysql을 무사히 이관하는 방법을 테스트합니다. 정보 AS-IS OS : redhat 7.9 To-BE OS: redhat 7.9 Mysql 버전 : 5.7.25 OS가 동일하기 때문에, mysql 엔진과 데이터 영역을 압축해서 To-BE에 푸는 방법을 생각했습니다만, 설치시에 system상에 자동으로 등록되는 것들까지 manual하게 설정할 수 없다고 판단되어 이 방법은 사용하지 않기로 하였습니다. 실제 테스트에서 사용한 방법은 아래와 같.. 2023. 4. 13.
mysql 접속시 --batch --execute --skip-column-names 옵션 사용 --execute 옵션을 사용 시 mysql로 접속하지 않고도 쿼리 결과를 받을 수 있습니다. C:\Program Files\MariaDB 10.6\bin>mysql -h 127.0.0.1 -P 3306 -u root -p -D test --execute="select * from tab_important" Enter password: ******** +------+-------+ | uid | uname | +------+-------+ | 1 | Matt | +------+-------+ --batch옵션을 사용시 실행 결과가 라인이 없는 표 형태로 출력됩니다. C:\Program Files\MariaDB 10.6\bin>mysql -h 127.0.0.1 -P 3306 -u root -p -D tes.. 2021. 12. 21.
06.스토리지 엔진 - InnoDB 스토리지 엔진 6.3.1 MySQL 5.6 InnoDB XtraDB는 기본적으로 MySQL의 InnoDB 스토리지 엔진의 모든 기능을 그대로 유지하면서 추가저긍로 성능이나 확장성이 개선된 스토리지 엔진입니다. 그래서 XtraDB 스토리지 엔진을 이해하기 위해서는 MySQL에 내장된 InnoDB 스토리지 엔진의 기능들을 알고 있어야 합니다. 6.3.1.1 영구적인 통계정보 MySQL 5.6의 InnoDB에서는 이전버전과는 달리 각 테이블의 통계 정보를 테이블로 관리하도록 보완되었습니다. MySQL 5.5버전까지의 InnoDB에서는 통계 정보를 단순히 각 스토리지 엔진에서 단순히 메모리상에서 관리했었는데, 이는 매우 자주 변경되고 마스터와 슬레이브에서 각각 다른 쿼리 실행 계획을 만들어 낼 정도로 변덕이 심했습니다. 그래.. 2021. 7. 23.