본문 바로가기

MySQL25

728x90
반응형
[CentOS 8] MariaDB 11.4 소스 컴파일 설치 CentOS 8에서 MariaDB 11.4를 소스 컴파일 설치하는 방법은 아래와 같다.MariaDB 소스 컴파일 설치아래의 명령어를 입력하여 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-11.4.3-srccd mariadb-11.4.3-src아래의 명령어를 입력하여 makefile을 생성한다. 디렉토리 경로는 필요에 따라 수정한다.cmake \-DCMAKE_INSTALL_PREFIX=/home2/mariadb/mariadb_11.4.3 \-DM.. 2024. 10. 23.
[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.
[2강] 스프링 프레임워크 개발환경 구축 및 예제 실행 0. 학습 목표 본 글에서는 스프링 프레임워크 개발환경을 구축하고 제가 만든 예제를 실행하는 것을 학습합니다. 제가 만든 예제는 조금씩 업데이트 될 것이며 실무적으로 스프링 기반 개발을 할 때 도움이 될 것입니다. 글과 사진으로 설명하는 것보다 동영상이 더 편하신 분들은 아래의 영상을 참고해주세요. 2강. 스프링 프레임워크 개발 환경 구축 및 예제 실행 1. 통합개발환경 설치 1-1. 통합개발환경 다운로드 스프링 프레임워크 통합개발환경(Integrated Development Environment, IDE)으로 STS(Spring Tool Suite 4)를 사용합니다. STS를 설치하기 위해 아래의 주소로 이동하여 STS 4.3.1 버전을 다운로드 받습니다. STS 4.3.1 다운로드 주소: https:.. 2023. 2. 9.
[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.
Node.js 에서 MySQL 8.0 에 연결할 때 "does not support authentication protocol" 오류가 발생하는 경우 오류가 발생하는 이유 Node.js에서 MySQL 패키지를 설치하는 한국어 가이드 문서를 보면 흔히 구버전 MySQL을 설명하는 가이드가 많다. MySQL이 과거에는 'mysql_native_password' 인증 프로토콜을 쓰다가 현재는 'caching_sha2_password'을 사용하고 있는데 이로인해서 MySQL 8.0에 구버전 MySQL 패키지를 사용해서 연결하는 경우 아래와 같은 경고가 뜨며 연결이 되지 않는 것을 볼 수 있다. Client does not support authentication protocol requested by server; consider upgrading MySQL client 해결 방법 이 문제를 해결하는 방법은 2가지가 있다. 첫 번째 해결 방법은 인증방식을 구.. 2022. 10. 10.
[CentOS 7] MySQL 8.0 설치하는 방법 CentOS 7.8에 MySQL 8.0.30을 설치해야하는 일이 생겨서 하는 김에 정리하였다. 설치가능한 MySQL 8.0 저장소 확인 CentOS 7.8의 기본 YUM 저장소에는 MySQL 8.0이 없다. 그러므로 MySQL 공식 홈페이지에서 제공하는 MySQL 8.0 설치파일을 통해 설치를 진행하며 아래의 주소에서 설치가능한 MySQL 정보를 확인할 수 있다. MySQL 설치 파일 주소 : https://dev.mysql.com/downloads/repo/yum/ MySQL 8.0 저장소 설치 Red Hat Enterprise Linux 7에 설치가 가능하면 CentOS 7에도 설치가 가능하다. 위 목록에서 얻은 저장소 설치 파일 주소를 얻는다. 아래처럼 명령어를 작성하여 실행한다. yum insta.. 2022. 8. 1.
[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.
[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.