본문 바로가기

MariaDB

(9)
[MariaDB] Sequence 사용 방법 1. Sequence ID 값을 숫자가 아닌 다양한 방식으로 저장하고 싶은 경우 사용합니다. Thread-safety 하게 ID를 발급 받을 수 있으며, AUTO_INCREMENT 대신 사용할 수 있습니다. Sequence는 값을 캐시하므로 경우에 따라 AUTO_INCREMENT 보다 빠를 수 있다고 합니다. MariaDB의 Sequence 기능은 10.3버전 부터 지원됩니다. 2. Sequence 문법 CREATE [OR REPLACE] [TEMPORARY] SEQUENCE [IF NOT EXISTS] sequence_name [ INCREMENT [ BY | = ] increment ] [ MINVALUE [=] minvalue | NO MINVALUE | NOMINVALUE ] [ MAXVALUE ..
[Mysql] 문자열 치환 함수 replace 1. Replace 함수란? 특정 문자열을 원하는 문자열로 변환하는 함수이다. replace(컬럼명, '기존문자열', '변경문자열') 2. 사용 방법 1) select replace함수 실행 결과 추출하기 SELECT replace(url, 'http://' ,'https://') FROM file_info; 2) update 'http://' 문자열이 포함된 컬럼을 'https://'로 변경 UPDATE file_info SET url = replace(url, 'http://' ,'https://');
[Mysql] ON DUPLICATE KEY UPDATE ... 1. ON DUPLICATE KEY UPDATE 데이터 삽입 시, PRIMERY KEY나 UNIQUE KEY가 중복되었을 경우 지정한 데이터만 UPDATE하는 명령어를 의미한다. (중복된 키가 없을 경우 INSERT 로직을 수행한다.) 1) member 테이블 생성 CREATE TABLE member ( id INT AUTO_INCREMENT primary KEY, NAME VARCHAR(50) UNIQUE KEY, price INT NOT NULL DEFAULT 0, cnt INT NOT NULL DEFAULT 0 ); 2) 데이터 삽입 INSERT INTO member (NAME, price, cnt) VALUES ('kim', 1000, 0) ON DUPLICATE KEY UPDATE price =..
[Mysql] GROUP_CONCAT 사용 방법 1. GROUP_CONCAT 명령어 SELECT의 결과로 나온 여러 행의 특정 컬럼을 한줄로 출력할 때 사용한다. (NULL 값은 제외된다.) 2. 사용 방법 GROUP_CONCAT([DISTINCT] [expr, column] [ORDER BY column DESC] [SEPARATOR '구분자']) 3. 사용 예제 1) member 테이블 CREATE TABLE `member` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `NAME` VARCHAR(30) NULL DEFAULT NULL `age` INT(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) ) 2) member 데이터 INSERT INTO `member` (`NAME`, `age`) V..
[Linux] MariaDB 로그 남기기 MariaDB에 일반로그 및 에러로그를 남기는 설정을 진행하겠습니다. 테스트 환경 OS MariaDB Version CentOS 7 10.4.12 1. MariaDB 로그 설정 및 저장경로 확인 MariaDB에 로그인 후, 다음과 같은 명령어를 입력해줍니다. SHOW VARIABLES LIKE '%general%'; > 일반 로그의 파일 명과 일반 로그 활성화 유무를 확인합니다 show variables like 'datadir'; > mariadb의 저장소를 확인합니다. 일반 로그의 파일 명은 galera03.log입니다. 기본적으로 datadir 경로 아래에 저장되어 있습니다. 하지만 로그 설정이 활성화되어 있지 않기 때문에 로그 파일을 활성화시켜주어야 합니다. 2. general_log 활성화 > ..
[Linux] CentOS 7 Galera Cluster 사용하기 1. Galera Cluster 란? 오픈소스이다. 동기 방식의 복제를 지원한다. 노드간 통신을 위해 wsrep API를 사용한다. Active-Active 방식의 다중 Master 구성 및 모든 노드에서 Read/Write가 가능하다. 노드의 추가와 제거가 간단하고, 특정 노드에서 장애가 발생하면 자동으로 해당 노드가 제거된다. InnoDB 만 지원한다. Mysql 및 MariaDB 5.5 이상 버전에서 사용가능하다. wsrep(Write Set REPlication) 란? MySQL의 InnoDB 스토리지 엔진 내부에서 Write Set을 추출하고 기능을 구현합니다. (Write Set은 트랜잭션을 기록하는 모든 논리적 데이터 집합이다.) 노드간 Write Set을 송수신하기 위해서 별도의 복제 플러..
[Linux] CentOS7에 MariaDB 설치하기 안녕하세요. 이번에는 CentOS7에 MaraDB 설치 및 설정에 대한 포스팅을 진행하겠습니다. MariaDB는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다. MySQL과 동일한 소스 코드를 기반으로 하며, GPL v2 라이선스를 따른다. 출처 : https://ko.wikipedia.org/wiki/MariaDB 1. MariaDB yum repo 등록 vi /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 mariadb 10.4 버전을 ..
[Spring Boot] MariaDB 연동 및 Mybatis 사용하기 안녕하세요. 밤둘레입니다. MariaDB 연동 및 Mybatis 사용법 정리 글입니다. Spring Boot Project를 생성하려면 아래 URL로 이동해서 프로젝트를 생성해주세요. https://start.spring.io/ 위와 같이 Spring Boot 프로젝트를 생성 하면 됩니다. 1. pom.xml ... org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-jdbc org.mybatis.spring.boot mybatis-spring-boot-starter 2.0.1 org.mariadb.jdbc mariadb-java-client org.springframework.boot s..