본문 바로가기

DB/Mysql(MariaDB)

MariaDB - AUTO_INCREMENT 확인 및 초기화 방법 DB 관리를 하다 보면 연속된 숫자 ID를 자동으로 생성해 주는 AUTO_INCREMENT 속성을 자주 사용하게 됩니다.시퀀스란?시퀀스(Sequence)는 데이터베이스에서 자동으로 생성되는 일련의 숫자들을 의미합니다.MariaDB에서는 AUTO_INCREMENT 속성을 사용하여 테이블의 기본 키 값으로 이러한 시퀀스를 생성해 사용합니다.새로운 레코드가 삽입될 때마다 자동으로 증가하여, 각 행에 고유한 식별자를 부여합니다.AUTO_INCREMENT의 필요성고유성 보장 : 각 레코드에 고유한 식별자를 자동으로 부여하여 데이터 고유성을 보장합니다.데이터 무결성 유지 : 중복된 값이 들어가는 것을 방지하여 데이터 무결성을 유지합니다.AUTO_INCREMENT 사용 시 발생할 수 있는 문제점갭 발생 : 수동으로 .. 더보기
MariaDB - Connection Memory Management와 주요 메모리 파라미터 튜닝 1. 튜닝이 왜 필요한가?MariaDB의 메모리 튜닝은 서버의 성능 최적화와 안정성 보장을 위해 필수적입니다. 성능 최적화 : 튜닝을 통해 적절하게 메모리를 사용하면 처리 속도가 빨라지고, 데이터베이스 응답 시간이 단축됩니다.안정성 향상 : 메모리 설정을 통해 메모리 누수나 과도한 사용으로 인한 서버 다운타임을 방지할 수 있습니다.자원 효율성 : 시스템 자원을 효율적으로 사용하여 서버 운영 효율성을 높일 수 있습니다. 2. 튜닝을 하면서 주의할 점메모리 한계점 확인 : 과도한 메모리 할당은 시스템 전체의 성능 저하를 발생시킬 수 있습니다.단계적 조정 : 한 번에 많은 설정을 변경하기보다는, 모니터링하면서 단계적으로 변경하는 게 중요합니다.테스트 환경 사용 : 설정 변경 전 테스트 환경에서 성능 테스트를 .. 더보기
MariaDB - 컬럼 내 문자 변경(Replcae) DB를 관리하다 보면 특정 문자를 다른 문자로 변경해야 할 때가 있습니다. 이럴 때 REPLACE 함수를 자주 사용합니다. REPLACE 함수란?REPLACE 함수는 문자열 내에서 특정 문자를 다른 문자로 변경하는 기능을 합니다.원본 문자열: 변경 전 원본 문자열입니다.찾을 문자열: 원본 내 대상 문자열입니다.교체 문자열: 새로 변경할 문자열입니다. 사용방법REPLACE('원본 문자열', '찾을 문자열', '교체 문자열') 또는REPLACE('컬럼', '찾을 문자열', '교체 문자열') 단순 문자열 교체SELECT REPLACE('samsodb mysql', 'mysql', 'MariaDB');'samsodb mysql' 이라는 문자열에서 'mysql' 을 'MariaDB' 로 변경해서 보여주는 SQL입.. 더보기
MariaDB - max_connections 변경하기 max_connections 이란?MariaDB의 max_connections 설정은 데이터베이스 서버가 동시에 처리할 수 있는 최대 클라이언트 연결 수를 지정합니다.각 클라이언트 연결은 데이터베이스에 쿼리를 실행하거나 데이터를 조작할 때 필요합니다.  max_connections를 왜 변경해야 하나?자원 한계 관리: 서버의 CPU나 메모리 등 자원은 한정적이기에, 너무 많은 연결이되면 시스템 과부하되어 성능 저하나 서비스 중단이 될 수 있습니다.성능 최적화: 동시 연결 수를 조절함으로써 서버의 응답 시간을 개선하고 자원 사용률을 최적화합니다.보안 강화: 연결 수를 제한함으로써 잠재적인 DoS(Denial of Service) 공격 또는 비정상적인 트래픽 증가에 대한 위험을 줄일 수 있습니다.max_co.. 더보기
MariaDB - DB 로그 파일 관리하기 MariaDB (Mysql도 포함)는 다양한 종류의 로그 파일을 관리하여 서버 운영에 필수적인 정보를 제공합니다.로그파일로 DB 상태 모니터링, 문제진단, 보안 감사를 수행할 수 있습니다.1. 기본 로그 파일 종류에러 로그 (Error Log)MariaDB의 에러 로그는 서버에서 발생하는 문제들을 기록합니다. 이 로그에는 서버 시작 및 중지에 관한 정보, 서버 실행 중 발생하는 문제점들이 포함됩니다.기본 경로: /var/log/mysql/error.log (시스템에 따라 다를 수 있음)일반 쿼리 로그 (General Query Log)모든 클라이언트와 서버 간의 통신을 기록합니다. 이 로그는 시스템에 대한 진단 정보, 오류 검사, 성능 분석 등에 유용합니다.기본적으로 비활성화되어 있으며, 성능 저하의 원.. 더보기
MariaDB - DB 백업 및 복구하기 MariaDB 백업 방법 MariaDB 데이터베이스를 백업하는 방법 중 두 가지 자주 사용하는 백업 방법을 알아봅니다. 1. mysqldump 명령어를 이용한 백업 방법 mysqldump 명령어를 사용하면 MariaDB 데이터베이스의 백업 파일을 생성할 수 있습니다. 다음 명령어를 터미널 또는 명령 프롬프트에서 실행합니다. # mysqldump -u 사용자이름 -p 데이터베이스이름 > 백업파일.sql 사용자이름은 MariaDB에 접속 가능한 계정 데이터베이스이름은 백업하려는 데이터베이스이름 1-1. DB 전체 백업 # mysqldump -u 사용자이름 -p -A > full_backup.sql # mysqldump -u 사용자이름 -p --all-databases > full_backup.sql 1-2... 더보기
MariaDB - 기본 사용법 1. MariaDB 접속 # mysql -uroot -p // root 계정으로 비밀번호 입력 후 접속 # mysql -u [계정] -p // 만약 비밀번호가 없으면 엔터 입력 후 접속 2. 데이터 베이스 생성 MariaDB[(none)]> create database samsodb DEFAULT CHARACTER SET UTF8; 3. 데이터베이스 목록 보기 MariaDB[(none)]> show databases; 4. 원격 접속 허용 및 권한 부여(데이터베이스) MariaDB[(none)]> grant all privileges on samsodb.* to samso@'%' identified by 'samsopwd' with grant option; ex) grant all privileges o.. 더보기
Linux - MariaDB 설치 (컴파일 / yum) CentOS7에서 MariaDB yum으로 설치하는 방법 1. MariaDB 설치 # yum -y install mariadb-server 2. MariaDB 구동 및 자동 시작 설정 # systemctl start mariadb --> MariaDB 서비스 시작 # systmectl enable mariadb --> MariaDB 부팅 시 자동 시작 활성화 3. MariaDB 구동 확인 # rpm -qa | grep mariadb # ps -ef | grep mariadb // ps -ef | grep mysql # netstat -ntpl --> 기본포트인 3306 확인 # systemctl status mariadb 4. MariaDB 접속 # mysql -uroot # mysql -u 계정 -p .. 더보기