gbmin's Tech Notes

서버 구축 및 유지보수, 클라우드 컴퓨팅, 네트워크 보안, IT 분야 기술 노트. :)

Tech Notes/Mysql & MariaDB 8

MySQL vs MariaDB의 차이점, 성능, 보안, 라이선스 비교분석

MySQL과 MariaDB는 모두 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)이다. 데이터를 테이블 형태로 저장하고, 이 테이블들 간의 관계를 통해 데이터를 조직화하고 관리한다. 그러나 이 두 시스템은 비슷한 기능화 호환성을 가지고 있지만, 구현 방식과 기능, 성능, 보안 등 여러 측면에서 차이점이 있다. 이러한 차이점들은 개발자나 기업이 데이터베이스 시스템을 선택할 때 중요한 고려 사항이 될 수 있다. 비슷하지만 다른 MySQL과 MariaDB의 성능, 보안, 라이선스등의 차이점을 정리하였다. [목차] 1. MySQL의 특징 2. MariaDB의 특징 3. MySQL과 MariaDB의 성능 비교 4. MySQL과 MariaDB의 호환성 5. MySQL과 MariaDB의 보안 6. MySQL..

MySQL 성능 향상을 위한 tmpfs 활용법

MySQL 데이터베이스를 사용하면서 공통적으로 대량의 데이터를 처리할 때 발생하는 입출력 속도에 문제가 발생된다. JOIN이나 GROUP BY 같은 복잡한 쿼리를 실행할 때 생성되는 임시 파일을 RAM이나 디스크에 운영하는 임시 파일 시스템 MySQL tmpfs를 이용해 성능 최적화를 해볼 수 있다. [목차] 1. MySQL tmpfs의 이해 2. mysql tmpfs 설정 방법 메모리에 임시파일 쓰는 방법 디스크에 임시파일 쓰는 방법 3. tmpfs 적용 후 프로파일링 성능 측정 방법 4. tmpfs 설정 시 주의할 점 1. MySQL tmpfs의 이해 tmpfs는 주기억장치인 메모리 (RAM)에서 동작하는 임시 파일 시스템이다. 메모리는 데이터를 저장하고 읽어오는 속도가 디스크에 비해 월등히 빠르기 ..

Mysql & MariaDB 캐릭터 셋(Character Set) 개념과 변경 방법

MySQL과 MariaDB는 가장 많이 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나다. 웹 기반 애플리케이션, 데이터 웨어하우싱, E-Commerce 및 로그 분석 등에 널리 사용되며, 그 유연성과 안정성으로 인해 선호받고 있다. 하지만 이와 같은 프로그램과 연동하면서 잘못된 캐릭터 셋 설정으로 인해 저장되는 문자열이 깨지거나 데이터를 불러올 때 캐릭터 셋이 맞지 않아 글자가 깨지는 경우가 종종 발생된다. 이런 문제의 해결을 위해 MySQL과 MariaDB에서 캐릭터 셋 의 개념과 변경 방법에 대해서 정리하였다. [목차] 1. 캐릭터 셋(Character Set) 은 무엇인가? 2. 서버 내 지원하는 캐릭터 셋을 확인하는 방법 3. MYSQL & MariaDB 서버 내 설정하..

Mysql, MariaDB - 테이블 데이터 전체 삭제

MySQL이나 Mariadb를 사용할 때 DB의 테이블 데이터 전체 삭제 하거나 초기화해야 할 경우가 있다. 효과적으로 테이블을 삭제하는 방법에 대해서 정리하였다. 그리고 어떤 작업이든 백업을 해두는 게 좋다. [Tech Notes/Mysql & MariaDB] - mysqldump 옵션 및 사용 방법 정리 mysqldump 옵션 및 사용 방법 정리 mysqldump은 MySQL 데이터베이스를 백업하기 위한 명령어 도구이다. 자주사용 하는 옵션과 사용 방법에 대한 예제 정리를 하였다. 1. 기본 사용 방법 mysqldump [옵션] [데이터베이스명] > [백업파일명.sql gbminnote.com - 목차 1. 일반적인 테이블 삭제 방법 2. DB 재생성 (DROP & CREATE) 3. 모든 테이블 한..

mysqldump 옵션 및 사용 방법 정리

mysqldump은 MySQL 데이터베이스를 백업하기 위한 명령어 도구이다. 자주사용 하는 옵션과 사용 방법에 대한 예제 정리를 하였다. 1. 기본 사용 방법 mysqldump [옵션] [데이터베이스명] > [백업파일명.sql] 2. 주요 옵션 옵션 설명 -u 사용자명, --user=사용자명 MySQL 서버에 로그인 사용자명 -p, --password 사용자 암호를 입력하도록 요청 -h 호스트명, --host=호스트명 MySQL 서버의 호스트명 -A, --all-databases 모든 데이터베이스를 덤프 -Y, --all-tablespaces 모든 테이블 스페이스를 덤프 --add-drop-database 덤프 파일에 DROP DATABASE 문을 추가 --add-drop-table 덤프 파일에 DROP..

Mysql, MariaDB 이벤트 스케줄러 (Event Scheduler) 사용법

Mysql/MariaDB 이벤트 스케줄러(Event Scheduler)는 주기적이거나 특정 시간에 자동으로 실행되는 작업을 정의하는 기능이다. 이벤트 스케줄러는 Mysql/MariaDB 서버에서 실행되며, 일반적으로 관리 작업이나 데이터 유지보수 작업에 유용하게 쓸 수 있다. 1. 이벤트 스케줄러 사용설정 기본 상태값이 off 이기 때문에 on 으로 변경해준다. MySQL 구성 파일인 my.cnf (윈도우의 경우 my.ini) 파일 [mysqld] 섹션에 event_scheduler=ON를 추가한다. DB를 재시작 하거나 아래와 같이 설정을 변경 후 설정 값을 체크한다. MariaDB > SET GLOBAL event_scheduler = ON; MariaDB > show variables like'%e..

MYSQL/MARIADB CHECK, REPAIR, OPTIMIZE, mysqlcheck 사용방법

mysql, mariadb를 관리하다 보면 테이블이 깨지는 경우가 있다. 테이블이 깨지는 이유는 갑작스러운 시스템 종료 또는 MySQL 서버 충돌, 디스크 공간 부족, 하드웨어 결함, MySQL 버그 또는 소프트웨어 문제, 사용자의 잘못된 쿼리나 부적절한 테이터 조작으로 인해 발생된다. 이런 이유로 테이블이 깨지거나 손상되었을 때 손상 여부를 검사, 복구, 최적화하는 기능들이을 제공 한다 1. MYSQL CHECK CHECK 명령어는 데이터베이스 테이블의 무결성을 확인하는 데 사용된다. CHECK 명령어를 사용하면 테이블에서 잘못된 레코드나 불일치된 데이터를 찾을 수 있다. CHECK TABLE table_name; 2. MYSQL REPAIR REPAIR 명령어는 데이터베이스 테이블에서 발견된 손상된 ..

mysql, mariadb index 생성 및 쿼리 최적화

index(인덱스)는 데이터베이스 테이블의 일부 또는 전체 열의 값을 사용하여 생성된 키를 말하며 데이터 검색, 조회 및 정렬하는 데 사용되는 자료 구조다. index를 사용하면 데이터베이스에서 데이터를 빠르게 검색할 수 있다. MySQL과 MariaDB 모두 인덱스를 사용할 수 있으며, 다양한 인덱스 유형이 있다. - 목차 1. index 생성, 삭제 1) index 생성 2) index 삭제 방법 2. index 종류 1) B-Tree index (B-트리 인덱스) 2) Hash index (해시 인덱스) 3) FullText search index (전문 검색 인덱스) 4) Spatial index (공간 인덱스) 3. index 설정 확인 및 쿼리 실행 계획 1) 테이블 index 정보 확인 방법..