MariaDB 40

[에러] ERROR 1932 (42S02): Table [테이블명] doesn't exist in engine

[테스트 환경] OS : CentOS7 64bit DB : MariaDB 10.1.12 1. 에러 내용 - Xtrabackup을 이용해서 원격지 백업을 진행한 이후에 테이블 조회 시 CASE 1, CASE 2와 같은 에러가 발생함. - [참고] 백업 명령어 ssh $g_ms_in innobackupex --user=$g_sp_usr --password=$g_sp_pwd --stream=xbstream ./ | ssh $g_sl_in "xbstream -x -C $DB_HOME/datadir/ MariaDB [DB명]> SELECT * FROM [테이블명]; CASE 1ERROR 1932 (42S02): Table [테이블명] doesn't exist in engine CASE 2ERROR 1814 (HY..

MariaDB/Admin 2017.09.26

[에러] Incorrect datetime value: ''

[테스트 환경] OS : CentOS7 64bit DB : MariaDB 10.1.12 1. Error 내용 - SELECT INSERT 쿼리에서 다음과 같은 에러 발생 Incorrect datetime value: '' [특이 사항] - 기존에 에러 없이 실행되던 쿼리가 어느 순간부터 실행이 안됨. - 동일한 환경인 다른 서버에서 실행했을 때 정상적으로 실행 됨. 2. 해결 방안 - 쿼리 내의 암묵적인 형변환이 발생하는지 확인 - VARCHAR 타입을 DATE 타입으로 암묵적인 형 변환을 발생시키는데 여기서 ''을 리턴하는 것으로 예상 - 명시적으로 형변환을 할 수 있도록 쿼리 변경 [변경 전] AND [VARCHAR 타입인 컬럼]

MariaDB/SQL 2017.08.02

[에러] [error] Can't exec "master_ip_failover": 허가 거부

[테스트 환경]OS : CentOS7 64bitDB : MariaDB 10.2.7 1. Error 내용 - 설정 확인 시 master_ip_failover 파일에 대해서 허가 거부가 발생하여 Replication Health 체크 실패 [maria@ scripts]masterha_check_repl --conf=/maria_mha/[서비스명]/conf/[설정파일명].cnf ..... Wed Jul 26 04:28:54 2017 - [info] /maria_mha/[서비스명]/scripts/master_ip_failover --command=status --ssh_user=[유저명] --orig_master_host=[호스트명] --orig_master_ip=[ip] --orig_master_port=33..

MariaDB/MHA 2017.07.26

Foreign Key 생성 시 Index 생성

[문제점]MariaDB에서는 FK 생성 시에 참조 키를 빠르게 확인하고 테이블 스캔을 하지 않으려고 인덱스를 생성함. [테스트]1. 스크립트 CREATE DATABASE ADB_TEST ; -- ADS_기업 CREATE TABLE `ADB_TEST`.`ADS_CO` ( `CO_NO` DECIMAL(9) NOT NULL, -- 기업번호 `CO_NM` VARCHAR(100) NULL, -- 기업명 `HDOF_ADDR` VARCHAR(500) NOT NULL, -- 본사주소 `DLG_TEL_NO` VARCHAR(20) NULL, -- 대표전화번호 `DLG_DRTR_NM` VARCHAR(100) NOT NULL, -- 대표이사명 `ESTB_DT` VARCHAR(8) NULL, -- 설립일자 `SALES_AMT`..

MariaDB/SQL 2017.06.02

[MariaDB][ADMIN] show processlist - Waiting for table metadata lock

[테스트 환경] - CentOS 7 - MariaDB 10.1.12 1. 문제 상황 - Toad에서 대상 테이블을 조회하던 도중 사용자에 의한 중지 - 중지가 되어도 실제 프로세스 상에는 세션이 쿼리를 조회하고 있음 - INDEX를 DROP 하는 중에 metadata lock이 걸려서 대기 상태에 빠진 상황 MariaDB [(none)]> show processlist; +-----+---------+---------------------+-------+-------------+---------+-----------------------------------------------------------------------+----------------------------------------------..

MariaDB/Admin 2017.03.29

[MariaDB][Admin]AUTO_INCREMENT를 활용한 PK구성 방법

[테스트 환경] - Windows 7 - MariaDB 10.1.12 1. AUTO_INCRMENT컬럼의 PK 활용 방법 - 오라클의 SEQUENCE는 테이블에 종속되지 않고 사용 할수 있는 반면 MariaDB(Mysql)는 테이블 종속적으로 SEQUENCE처럼 사용 가능한 AUTO_INCREMENT 기능이 존재 한다. 오늘은 AUTO_INCREMENT를 활용하여 PK를 구성방법에 대해서 얘기하려고 한다. 1.1. AUTO_INCREMENT컬럼 단일 PK - AUTO_INCREMENT컬럼을 사용하여 단일 PK를 구성하는 것은 전혀 문제가 없음 CREATE TABLE DA_AUTO_INCREMENT_TEST( DA_NO int(11) NOT NULL AUTO_INCREMENT, DA_ID VARCHAR(1..

MariaDB/Admin 2017.03.23

[MariaDB][SQL]사용자변수를 활용한 DENSE_RANK 분석함수 작성

[테스트 환경] - Windows 7 - MariaDB 10.1.12 1.DENSE_RANK 분석함수 구현하기 - MariaDB(mysql)의 사용자변수를 활용하여 Oracle의 DENSE_RANK분석함수와 동일한 쿼리를 작성 한다. 기존의 사용자변수와 조금 다르게 활용한 것은 SET 사용자변수를 선언하지 않고, 테이블 안쪽에서 사용자변수를 선언하여 쿼리가 수행 될 때마다 사용자변수를 초기화 할 수 있는 장점이 있다. 1.1 테이블 스크립트 CREATE TABLE DA_USER_INFO ( USER_GRP_ID_ID VARCHAR(10) COMMENT '사용자그룹ID', USER_NO BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '사용자번호', USER_SA..

MariaDB/SQL 2017.03.09

[MariaDB]TIMEDIFF 함수를 활용한 시간 계산 SQL

[테스트 환경] - Linux CentOs7 - MariaDB 10.1.12 1. TIMEIDFF,TIME_FORMAT 함수 - TIMEDIFF : 두 개의 시간 값의 차를 계산하여 년월일시분초로 값을 리턴해 주는 함수 - TIME_FORMAT : 시간 값을 원하는 유형으로 포맷을 변경해주는 함수 2. 실습 예제 - 로그인하여 접속을 유지한 시간의 값을 알고 싶을 때 위의 두개의 함수를 사용하여 값을 출력 한다. /*로그인_로그아웃 테이블 생성 */ CREATE TABLE DA_LOGIN_LOGOUT_TB ( LOGIN_LOGOUT_SEQ_NO int(9) NULL , DA_LOGIN_DATE datetime NULL, DA_LOGOUT_DATE datetime NULL, DA_DATE_UNIT varc..

MariaDB/SQL 2017.02.17

[에러] [error][/usr/share/perl5/vendor_perl/MHA/ManagerUtil.pm, ln122] Got error when getting node version. Error:

[테스트 환경] OS : CentOS7 64bit DB : MariaDB 10.1.12 1. Error 내용 - Replication 설정 확인 시 다음과 같은 에러 발생[maria@ scripts]$ masterha_check_repl --conf=/maria_mha/[서비스명]/conf/[설정파일명].cnf Mon Aug 8 18:53:33 2016 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping. Mon Aug 8 18:53:33 2016 - [info] Reading application default configuration from /maria_mha/[서비스명]/conf/[설정파일명].cnf..

MariaDB/MHA 2017.01.05

[MariaDB][성능] 멀티 레인지 리드(multi range read) 최적화

[테스트 환경] OS : CentOS7 DB : MariaDB 10.1.12 멀티 레인지 리드란 ?Multi Range Read(MRR)는 Random I/O를 Sequential I/O로 처리할 수 있도록 도와주는 기능으로, Non-Clustered Index를 통해 Range Scan을 하는 경우, 바로 데이터를 조회하지 않고 어느 정도 rowid(primary key) 값들을 Random 버퍼(mrr_buffer_size)에 채운 다음, 버퍼 내용을 정렬하여 최대한 rowid(primary key) 순서대로 데이터를 접근할 수 있도록 해주는 것이다. 1. rowid 기준 정렬 (Rowid-odered scan) /*파라미터 설정*/ --멀티 레인지 스캔 최적화를 하기 위해서 아래와 같은 파라미터를 ..

MariaDB/SQL Tuning 2016.09.25