본문 바로가기

mariadb23

728x90
반응형
[MariaDB] 버전 확인 쿼리 MariaDB에서 버전을 확인하는 쿼리는 아래와 같다.SHOW VARIABLES LIKE '%VERSION%'위의 쿼리를 실행하면 위의 사진처럼 11.4.3인 것을 확인할 수 있다.참고문서"MySQL/MariaDB 버전 확인하기", development, 2022년 3월 25일. @원문보기"VERSION", MariaDB 지침서, 2023년 7월 11일. @원문보기 2024. 9. 19.
[우분투 22.04] MariaDB 11.4 소스 컴파일 설치 우분투 22.04에서 MariaDB 11.4 버전을 소스 컴파일 설치하는 방법은 아래와 같다.의존성 패키지 설치아래의 명령어를 입력하여 MariaDB 11.4 소스 컴파일 설치에 필요한 패키지를 설치한다.sudo apt-get updatesudo apt-get install libc-bin libncursesw5-dev gnutls-dev cmake MariaDB 11.4 소스 다운로드아래의 명령어를 입력하여 MariaDB 11.4 소스를 다운로드하고 압축해제 한다.wget https://mirrors.xtom.jp/mariadb//mariadb-11.4.3/source/mariadb-11.4.3.tar.gztar -xf mariadb-11.4.3.tar.gzmv mariadb-11.4.3 mariadb.. 2024. 9. 10.
[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.
[미디어위키] 데이터베이스 SQLite 설정 값 예시 미디어위키(MediaWiki)에서 데이터베이스를 SQLite 설정할 때 아래와 같은 설정으로 구성할 수 있다. ## Database settings $wgDBtype = "sqlite"; $wgDBserver = ""; $wgDBname = "my_wiki"; $wgDBuser = ""; $wgDBpassword = ""; # SQLite-specific settings $wgSQLiteDataDir = "/var/www/data"; $wgObjectCaches[CACHE_DB] = [ 'class' => SqlBagOStuff::class, 'loggroup' => 'SQLBagOStuff', 'server' => [ 'type' => 'sqlite', 'dbname' => 'wikicache', 't.. 2023. 3. 28.
[윈도우] 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.
[MySQL] 3306 포트를 사용 중인 프로그램을 종료하는 방법 MySQL을 설치할 때 3306 포트를 사용하도록 설정했는데 나중에 MySQL을 실행하려고 보니 해당 포트가 이미 사용 중이어서 사용이 되지 않을 때 해결하는 방법을 안내한다. 동영상 설명 3306 포트를 사용 중인 프로그램을 종료하는 방법 해당 포트를 사용 중인 프로그램 확인 아래의 명령어를 입력하여 해당 포트를 사용 중인 프로그램을 확인한다. 제일 오른쪽에 나타난 PID 번호를 기억해둔다. netstat -ano | findstr 포트번호 아래의 명령어를 입력하여 해당 PID의 프로그램을 확인한다. tasklist | findstr PID번호 해당 프로그램 종료 프로그램을 종료하면 해당 포트가 비어지기 때문에 설치한 MySQL을 실행할 수 있다. 대게 3306 포트의 경우 서비스 프로그램에 가서 My.. 2023. 1. 10.
[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.
[Amazon Linux 2] MariaDB 10.3 설치하는 법 아마존 리눅스(Amazon Linux) 2에 MariaDB 10.3을 설치하는 법을 설명한다. 1. YUM((Yellow dog Updater, Modified)으로 설치가능한 MariaDB 버전 확인 아래의 명령어를 입력하면 설치가능한 MariaDB 버전이 나온다. 아마존 리눅스 2 순정 상태이면 이 글을 쓰는 날 기준으로 MariaDB가 5.5.68 버전이 설치가 가능하다. 하지만 오래된 버전이므로 신규 프로젝트라면 10.X 버전을 사용하는 것이 현명할 것이다. 본 글에서는 10.3 버전을 설치하는 방법을 소개한다. sudo yum list | grep mariadb 2. YUM 저장소 추가 아래의 명령어를 입력하여 YUM 저장소 파일을 생성한다. sudo vi /etc/yum.repos.d/Mari.. 2022. 2. 19.
[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.
[CentOS 7] MariaDB 방화벽 허용 CentOS7의 방화벽 정책 CentOS 7은 방화벽 때문에 자신의 컴퓨터가 아닌 다른 컴퓨터에서 접근 하는 것을 기본적으로 차단하고 있다. 웹 서버와 DB 서버를 분리한 경우 웹 서버에서 DB 서버로 접근할 수 있도록 방화벽을 허용해줄 필요가 있다. 명령어는 아래 사진과 같다. 방화벽 허용 정책 설정 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="아이피주소/서브넷마스크" port protocol="프로토콜명" port="포트번호" accept" firewall-cmd --reload 방화벽 허용 정책 삭제 firewall-cmd --permanent --remove-rich-rule="rule family="ip.. 2021. 4. 6.
[CentOS 7/8] MariaDB 재설치하기 MariaDB를 설치하고 이것저것 테스트하던 중 정전이 발생하여 MariaDB 관련 데이터가 상당히 망가졌다. 복구를 하려고 했으나 내 능력에선 복구에 실패했다. 다행히 데이터베이스 자료는 백업되어 있었기 때문에 재설치하기로 하였다. 1. 기존 MariaDB 설치 확인 yum list installed mariadb\* 위의 명령어를 입력하여 MariaDB 가 설치되어있는 것을 확인한다. 2. 기존 MariaDB 삭제 아래의 사진과 같이 아래의 명령어를 이용하여 삭제한다. yum remove MariaDB-server.x86_64 3. MariaDB 설치 아래의 명령어를 입력하여 MariaDB를 설치한다. yum install mariadb mariadb-server 4. MariaDB 시작 아래의 명령.. 2021. 3. 29.
[CentOS 7] MariaDB "max_open_files" 경고 조치 경고 내용 MariaDB 오류가 발생한 것 때문에 이것 저것 조치하고 있다보니 눈에 거슬리는 경고문이 있어서 조치를 했다. 아래와 같이 MariaDB 서비스를 시작할 때 "[Warning] Could not increase number of max_open_files to more than 16384 (request: 32186)"라고 경고문이 발생했었다. 경고 해결 방법 위의 경고문은 MariaDB 서비스 파일을 수정하여 조치할 수 있다. vi /lib/systemd/system/mariadb.service 위의 명령어를 입력하여 MariaDB 서비스 파일을 텍스트 에디터로 연다. 위와 같은 구문이 있을 수도 있고 없을 수도 있는데 있다면 적당한 숫자를 기입하거나 무한대로 아래와 같이 입력한다. 없으면.. 2021. 3. 28.