본문 바로가기

DBMS(DataBase Management System)/MariaDB13

728x90
반응형
[MariaDB] 버전 확인 쿼리 MariaDB에서 버전을 확인하는 쿼리는 아래와 같다.SHOW VARIABLES LIKE '%VERSION%'위의 쿼리를 실행하면 위의 사진처럼 11.4.3인 것을 확인할 수 있다.참고문서"MySQL/MariaDB 버전 확인하기", development, 2022년 3월 25일. @원문보기"VERSION", MariaDB 지침서, 2023년 7월 11일. @원문보기 2024. 9. 19.
[MariaDB] DB를 이관 했더니 테이블 용량이 훨씬 작아졌다. MariaDB에서 Delete를 하면 실제로 차지하는 크기가 작아지지는 않는다. Optimize 명령어를 써서 테이블의 용량을 줄이면 줄어드는데 이번에 경험해보니 이 마저도 100% 정리되는건 아닌 것 같다. 기존 테이블과 이관한 테이블의 데이터 수는 동일했고 주기적으로 관리한 기존 테이블의 용량은 1.2 GB이었지만 이관한 테이블의 용량은 0.9 GB였다.참고문서"mysql 백업 후 복원시 용량차이", 개발파워맨, 2014년 8월 1일. @원문보기"[SQL/DB] MySQL 서버 디스크 이전하기", 유르무차, 2020년 11월 24일. @원문보기"MySQL delete 실행 시 Table disk size가 줄어들지 않음", nari0_0, 2023년 5월 18일. @원문보기"MySQL: DELETE .. 2024. 9. 4.
[MariaDB] 조회/수정/삽입 등 쿼리 실행 시간이 늘어났을 때 조치 방법 MariaDB에서 조회(SELECT)와 수정(UPDATE), 삽입(INSERT) 등을 수행하는 쿼리의 실행 시간이 늘어났을 때 일반적으로 활용할 수 있는 조치 방법은 아래와 같이 3가지가 있다.1. DB 메모리 사용량을 늘린다.MariaDB가 사용하는 메모리 사용량을 늘리면 캐싱을 통해 처리 시간을 단축시킬 수 있다. 자세한 내용은 아래의 글에 설명되어 있다.MariaDB 메모리 설정 확인 쿼리, 2024년 8월 21일. @원문보기2. 인덱스 순서를 조정한다.인덱스가 너무 많으면 삽입과 수정시 정렬을 수행하기 위해 실행 시간이 오래 걸릴 수 있다. 또한 조회시 적절하게 인덱스를 활용하지 못 하면 풀스캔을 수행하여 실행 시간이 오래 걸릴 수 있다. 해당 테이블을 활용하는 쿼리의 중요도에 따라 적절하게 인덱.. 2024. 8. 22.
MariaDB 메모리 설정 확인 쿼리 MariaDB에서 메모리 설정을 확인하는 쿼리는 아래와 같다. 각 설정별 메모리 크기는 'my.ini' 파일에서 설정할 수 있다.SELECT @@innodb_buffer_pool_size, @@key_buffer_size, @@innodb_log_buffer_size, @@tmp_table_size, @@sort_buffer_size, @@read_buffer_size, @@read_rnd_buffer_size, @@join_buffer_size, @@thread_stack, @@binlog_cache_size, @@max_connections;참고문서"InnoDB Buffer Pool", MariaDB 문서, 2023년 8월 18일. @원문보기 2024. 8. 21.
[MariaDB] 세션 목록을 확인하고 강제로 세션을 종료하는 방법 세션 확인 아래 명령어를 입력하면 아래의 사진처럼 세션 목록이 나타난다. SHOW PROCESSLIST; 세션 강제 종료 아래의 명령어를 입력하면 아래의 사진처럼 특정 ID의 세션이 강제로 종료된다. kill query {ID}; SHOW PROCESSLIST; 참고문서 "SHOW PROCESSLIST", MariaDB 서버 지침서, MariaDB. @원문보기 "KILL [CONNECTION | QUERY]", MariaDB 서버 지침서, MariaDB. @원문보기 2023. 8. 17.
[윈도우] MariaDB 데이터를 SQL 파일로 백업하는 스크립트 데이터베이스 백업은 아주 중요하다. 백업하는 방법은 여러가지가 있겠지만 본 글에서는 특정 데이터를 SQL 파일로 가공하는 방법을 설명한다. 백업 스크립트 SQL 파일로 MariaDB 데이터베이스를 백업하는 스크립트는 아래와 같다. 필자의 경우 아래와 같이 파일명에 작업일시를 붙여서 파일을 저장하도록 스크립트를 작성한다. @echo off set YEAR=%date:~0,4% set MONTH=%date:~5,2% set DAY=%date:~8,2% set HOUR=%time:~0,2% set MINUTE=%time:~3,2% set SECOND=%time:~6,2% set date_format=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%%SECOND% mysqldump -u[계정명] -p[.. 2023. 3. 8.
[MariaDB] 함수 생성 때 'SQL Error (1418): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in ....' 오류 발생시 조치 방법 함수를 생성할 때 아래처럼 오류가 발생하는 경우가 있다. SQL Error (1418): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 이런 경우 아래의 명령어를 입력하여 함수 생성 설정을 확인하고 'OFF'로 설정되어 있는지 확인한다. SHOW GLOBAL VARIABLES LIKE 'log_bin_trust_function_creators'; 'OFF'로 설정되어 있으면 함수 생성이 되지 않기 때문에.. 2023. 2. 21.
[MariaDB] HeidiSQL로 CSV로 저장한 데이터를 불러오는 방법 1. CSV 파일은 무엇인가? 다양한 분야에서 많이 활용하는 파일형식으로 CSV(Comma-Separated Values)가 있다. 간단한 구조이고 라이센스 프로그램에서 주로 데이터를 다른 형식으로 저장할 때 흔히 지원하는 파일 구조이다. 서로 다른 프로그램에서 공통적으로 사용할 수 있는 파일 형식이기에 자료를 공유할 때 흔히 CSV로 주고 받는다. 2. HeidiSQL로 CSV을 MariaDB에 입력하는 방법 CSV 파일의 정보를 읽어서 MariaDB에 입력하는 기능을 HeidiSQL은 지원한다. CSV 파일을 읽을 때 사용할 옵션도 충분히 제공하기에 CSV 파일을 가공할 필요가 없어서 편리하다. 사용하는 방법은 아래와 같다. 2.1. CSV 파일 가져오기 활성화 HeidiSQL을 실행하여 '도구' -.. 2022. 12. 2.
[MariaDB] 전역 로그 설정 및 로그 확인 로깅 기능을 활용하는 이유 MariaDB 환경에서 디버깅(Debugging)을 위해 로그(Log)를 확인하고 싶은 경우가 있다. 로그 기능을 별도로 설정하지 않은 경우에는 가장 쉽게 확인할 수 있는 방법이 전역 로그 기능을 활성화하는 것인데 본 글에서는 전역 로그 기능을 활성화하고 로그를 확인하는 방법을 다룬다. 전역 로그 활성화 먼저 아래의 쿼리(Query, 질의어)를 입력하여 전역 로그 기능이 활성화 되었는지 확인한다. SHOW VARIABLES LIKE 'general%'; 'general_log'의 값이 'OFF'이면 전역 로그가 비활성화 되어 있는 상태이다. 이 경우 아래의 쿼리를 입력하여 전역 로그 기능을 활성화한다. SET GLOBAL general_log=ON; 로그 확인 'general_.. 2022. 11. 24.
[Windows] MariaDB 최대 세션 수 조정하기 MariaDB는 기본적으로 최대 151개의 세션을 허용한다. 현재 연결된 세션 수가 최대 세션 수에 이르면 그 다음 연결 요청부터는 세션을 생성하지 않고 연결을 거부하는데 이 경우 데이터베이스에서 값을 가져오지 못 한다. 그러므로 환경에 따라 MariaDB 최대 세션 수를 조정할 필요가 있다. 방법은 아래와 같다. 현재 세션 관련 설정 확인 아래의 명령어를 입력하여 현재 세션 관련 설정을 확인한다. 'max_connections'를 보면 151개로 설정되어 있는 것을 확인할 수 있다. SHOW VARIABLES LIKE '%connect%' 연결된 세션 수 확인 아래의 명령어를 입력하여 연결된 세션 수를 확인한다. SHOW STATUS LIKE 'Threads_connected' 세션 수 설정 아래와 같.. 2022. 10. 31.
[MariaDB 10.3/윈도우] 계정 비밀번호 재설정 윈도우에서 MariaDB 10.3을 운용하다가 계정의 비밀번호를 잊어버리면 아래와 같이 입력하여 비밀번호를 재설정 할 수 있다. 1. MariaDB 서비스 종료 비밀번호 없이 테이블 수정이 가능하도록 MariaDB를 새로 시작해야 하므로 아래처럼 기존 MariaDB 서비스를 종료한다. 2. MariaDB 재실행 아래의 명령어를 입력하여 비밀번호 없이 테이블의 값을 수정할 수 있는 모드를 활성화하여 MariaDB를 실행한다. "C:\Program Files\MariaDB 10.3\bin\mysqld" --skip-grant-tables 3. MariaDB 접속 및 비밀번호 초기화 아래의 명령어를 입력하여 MariaDB에 접속한다. "C:\Program Files\MariaDB 10.3\bin\mysql" .. 2022. 2. 19.
HeidiSQL 오류 "library libmariadb.dll could not be loaded" 조치 방법 오류 내용 HeidiSQL을 인스톨러(설치프로그램)로 설정하지 않고 포터블(무설치) 버전으로 실행하면 "library libmariadb.dll could not be loaded" 이런 오류가 발생할 때가 있다. 이 경우는 'libmariadb.dll'이 없는 경우보다는 'libmariadb.dll'이 참조하는 라이브러리가 없어서 정상적으로 실행되지 않는 경우일 가능성이 크다. 오류 해결 방법 아래의 주소에서 'C++ 재배포 가능 패키지'를 설치하면 정상적으로 동작하는 것을 확인할 수 있다. Visual C++ 재배포 가능패키지 다운로드 : https://www.microsoft.com/ko-kr/download/details.aspx?id=48145 '다운로드' 버튼을 클릭하면 아래의 사진처럼 창이 .. 2021. 8. 8.
[MariaDB] Incorrect string value "\xF0\x9F\x8E\xB5\x0A\x0A" 이모지 오류 조치 MariaDB를 데이터 저장소로 사용하고 있는 프로그램을 개발 중에 특정 문자열을 추가(INSERT)하니 "(0x80004005): Incorrect string value: '\xF0\x9F\x8E\xB5\x0A\x0A' for column" 이런 오류가 발생하는 경우가 있다. 이런 문자값은 보통 이모지를 입력했을 때 나타나며 이모지를 나타내기 위해서는 4바이트가 필요하다. 하지만 현재 설정된 인코딩이 그 값을 지원하지 못하고 있지 못하면 저런 오류가 발생한다. 이를 해결하기 위해서는 데이터베이스 인코딩 설정을 'utf8mb4'로 하면 제대로 동작한다. 1. MariaDB 인코딩 설정을 변경한다. 아래와 같이 명령어를 입력하여 MariaDB 서버의 인코딩 설정을 변경한다. vi /etc/my.cnf.d.. 2021. 4. 8.