반응형

mariadb 8

DB에 저장된 JSON 데이터의 키 값을 쿼리로 추출하기

추출 예시 DB에 JSON 형식을 문자열로 그대로 저장했을 경우 이것을 쿼리로 추출하는 방법입니다. { "filename":"test.png", "buttons":[ {"name":"test_name","url":"test_url"}, {"name":"test_name2","url":"test_url2"} ] }만약 이렇게 저장된 JSON 형식의 문자열 데이터가 있을 때, "filename"의 값인 "test.png" 만 가져오는 것이 목표입니다. 예시 DBMS는 MySQL입니다. 추출 쿼리 MySQL 5.7 버전 이상 (MariaDB 10.3 이상) MySQL 5.7 버전 이상부터 사용 가능하며, 내장 함수 중 하나인 JSON_EXTRACT()를 사용할 수 있습니다. JSON 데이터가 저장된 컬럼에서 ..

MySQL/MariaDB :: 특정 날짜 사이의 년,월,주,일 Group By (with PHP)

특정 날짜 사이의 년,월,일 Group By 하는 포스팅은 꽤 많았지만, 특정 범위의 날짜만 구하는 것이 아니라, 넓은 범위의 날짜를 구한 후 Group By 하는 방식으로 되어 있었다. 나는 정확히 특정 범위의 날짜만 구해서 처리속도도 최소화 하고 싶었다. 기존에 사용했던 코드 select stat_date from ( select adddate('[시작날짜]',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) stat_date from (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 u..

MySQL/MariaDB :: 단방향, 양방향 이중화 (Replication)

데이터베이스 이중화에 대한 내용 2대 이상의 DBMS를 나눠서 데이터를 저장한다. 삽입, 수정, 삭제 모두 복제할 수 있으며, 함수까지도 복제가 가능하다. 부분적으로 복제하는 것도 가능하다. CentOS 7, mysql Ver 15.1 Distrib 10.3.37-MariaDB 데이터베이스 양방향 이중화 my.cnf 설정 1번 서버 my.cnf ... [mysqld] server-id=1 log-bin=binlog binlog_format=mixed sync_binlog=1 binlog_cache_size=2M max_binlog_size=512M expire_logs_days=7 log-bin-trust-function-creators=1 ... 2번 서버 my.cnf ... [mysqld] serve..

CentOS7에 MariaDB 설치하기 :: MariaDB install for CentOS7

MariaDB 저장소 추가 MariaDB를 다운받기 위해서는 yum 저장소에 MariaDB 저장소를 추가해야 합니다. vi /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 baseurl의 경우 본인이 설치해야 하는 버전과 설치 환경에 맞게 입력해야 합니다. http://mirror.mariadb.org/yum/ 경로에서 확인할 수 있습니다. 저장 후 yum에 저장소가 제대로 추가 되었는지 확인합니다. yum repolist MariaDB 설치 yum i..

Node.js + express-session + db(MariaDB/MySQL) 연동 예제 :: 로그인 구현

1. 기본 시작 소스 안내 기본 소스는 branch::ex-auth 에서 시작하며, 완성된 소스는 branch::ex-auth-mysql 입니다. https://github.com/gogoma-code/node-express-auth.git node와 express-session을 활용하는 기본(branch::ex-auth가 만들어지는 과정)은 아래 글을 참고해 주세요. Node.js + express-session :: 프로젝트 생성부터 로그인 구현하기 2. MySQL 예제 테이블 생성 기본적으로 MySQL은 설치가 되어 있다는 가정 하에 진행합니다. SQL 예제 테이블 생성문 /* 만약 test 데이터베이스가 이미 있다면 다른 이름을 사용하세요. */ CREATE DATABASE `test`; USE..

Programming/Node.js 2022.07.11

MariaDB :: root 비밀번호 초기화 방법 (Bitnami 포함)

MariaDB root 비밀번호를 까먹어서 초기화 시켰습니다. 해당 과정을 기록합니다. Windows 10 10.4.24-MariaDB 1. MariaDB 서비스 중지 Bitnami로 MariaDB 설치한 경우 WAMP packaged by Bitnami 실행 후 "MariaDB Database" 클릭 후 Stop 직접 MariaDB 설치한 경우 CMD 열고 아래 명령어를 입력해요. (Bitnami 는 이게 안 될 수도 있어요.) net stop mysqld 이거 안 되면 아래로 하면 99% 멈추게 할 수 있어요. tasklist | findstr "mysql" #mysqld.exe 1376 Services 0 14,952 K mariadb로 검색하시면 안 됩니다. mysql로 검색하셔야 해요. 그 다음..

MacBook M1 에서 사용가능한 MySQL/MariaDB 무료 DB관리 툴(Sequal Ace)

맥북에서 쓰기 편한 무료 DB관리 툴을 찾고 있었는데, 무료에 설치도 쉽고 사용하기도 편한 툴을 찾았습니다. 설치 방법은 패키지 관리자인 Homebrew로 설치하는 방법과, 앱스토어에서 직접 다운받는 방식이 있습니다. 설치 설치방법1: 앱스토어에서 설치하기 이 방법이 제일 쉽긴합니다. 앱스토어 열고 sequal ace 검색하면 바로 나옵니다. 설치방법2: Homebrew로 설치하기 % brew install --cask sequel-ace 참고자료 공식 GitHub: https://github.com/Sequel-Ace/Sequel-Ace

MySQL/MariaDB :: 중복 없는 난수 생성

예측 불가능한 중복없는 난수를 생성하여 테이블에 저장하는 프로시저 만들기 중복 없는 난수 UUID SELECT UUID(), UUID(), UUID() #30e6956e-5752-11ec-853f-6c2b59c11615 #30e69572-5752-11ec-853f-6c2b59c11615 #30e69574-5752-11ec-853f-6c2b59c11615UUID를 통해 중복없는 난수를 생성할 수 있다. UUID() 는 UUID 버전1의 값을 반환한다. UUID 버전 1은 네트워크 랜 카드와 시간을 기반으로 유니크한 ID를 생성한다. 그렇기 때문에 위 코드 예시 중 (1-2-3-4-5) 로 가정했을 때 1번을 제외한 2,3,4,5 는 같은 수가 나온다. 네트워크 랜 카드와 시간을 기반으로 생성한 ID이기 때..

반응형