본문 바로가기

Database/mariaDB administrator

(45)
[mysql]Errcode: 28 No space left on device 에러 메시지 해결 방법 [mysql]Errcode: 28 No space left on device 에러 메시지 해결 방법 안녕하세요. 위와같은 에러가 발생하는 원인은, 크게 mysql에서 쓰는 temp 디렉토리가 가득찼을때 입니다. 대부분, mysql이 설치되어 있는 홈디렉토리는 크게 공간을 할당해서 문제가 없는데 temp 디렉토리는 공간이 작은 disk에 붙여둬서 그런경우가 생깁니다. 먼저, 어디에 temp 디렉토리가 설정 되어 있는지 확인 해보세요. show variables like 'tmpdir'; 위 쿼리로 했을때, 나오는 경로가 temp 디렉토리 경로 입니다. 여기가 mysql이나 mariadb의 홈디렉토 내부가 아니라면 홈디렉토리 내부 경로에 우선 폴더를 만들고, 권한을 부여 합니다. 그리고, my.cnf를 수정..
mysql 테이블 및 컬럼 케릭터셋 변경 하기 mysql 테이블 및 컬럼 케릭터셋 변경 하기 mysql이나 mariadb를 사용하면서 간혹 테이블이나 컬럼의 케릭터셋을 변경해야 하는 경우가 생깁니다. 물론 데이터베이스 전체의 케릭터셋을 변경 할 수도 있겠지만, 간혹 이렇게 테이블과 컬럼 단위로 변경 할 사유가 생겼을때 아래와 같이 간단하게 조치를 할 수 있습니다. ◎ SQL 테이블 단위 변경 alter table 테이블명 convert to character set utf8; utf8로 테이블 전체의 케릭터셋을 변경 한다는 의미 입니다. 컬럼 단위 변경 ALTER TABLE 테이블명 MODIFY COLUMN 컬럼 VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci; 테이블내 특정 컬럼의 케릭터셋을 변경..
mysql mariadb update join SQL 문법 쉬운 설명 mysql mariadb update join SQL 문법 쉬운 설명 mysql이나 mariadb에서 update 하실때 join해서 update 하는 방법에 대해서 쉽고 간단하게 설명을 드리도록 하겠습니다. 기존에 오라클이나 PG등을 사용하신분들은 mysql/mariadb에서 하시던데로 update join을 하면 잘 안되시는걸 경험하셨을겁니다. 간단하게, 쉽게 설명을 드리도록 할께요. Mysql/Mariadb update join 우선 아래와 같이 실습을 위해 두개의 테이블을 생성 했습니다. 테이블 데이터를 먼저 확인 해보겠습니다. 위 테이블은 학생테이블 입니다. up_students 테이블 이구요. 지금 그림과 같이 major_title과 major_title_prfs_name 컬럼이 null로 채..
mariadb partition table의 종류와 선택 기준 주의할 점 mariadb partition table의 종류와 선택 기준 주의할 점 안녕하세요. 오늘은 mariadb의 파티션 테이블에 대해서 서 mariadb에서도 partition table을 지원 하고 있습니다. partition table의 종류 와 특징 mariadb에서 지원하는 partition table의 종류는 다음과 같습니다. range 특정 파티션키의 범위, 즉 날짜에서 년도별로 한다던지, 일련번호의 특정 범위로 지정하여 테이블을 파티셔닝 하는 방법 입니다. list 특정 컬럼에 지정된 값만 들어올 경우에 그 값을 기준으로 테이블을 파티셔닝 하는 방법 입니다. hash 특정 값이나 범위로 지정하는게 아니라 mariadb에서 hash값으로 균등하게 테이블을 파티셔닝 하는 방법 입니다. key 테이블..
[mysql 독학] 독학으로 예제따라 익히는 mysql/mariadb SQL 입문서 출간 [mysql 독학] 독학으로 예제따라 익히는 mysql/mariadb SQL 입문서 출간 안녕하세요. 드디어 지난 1년간 열심히 썼던책이 전자책으로 출간이 되었습니다. 책 제목은 입니다. mariadb도 포함이 되겠죠. 전체 전자책의 분량은 223page 이고, pdf로 구성이 되어 있습니다. 제목을 잘 지은건지 모르겠습니다. 초보자, 입문자들이 예제를 따라서 책을 한번 보고나면 어느정도 SQL의 기본을 만들수 있다는 느낌을 주고 싶었습니다. 잘 반영이 되었는지는 저는 잘 모르겠습니다. 아무튼 1여년간의 길고 길었던 원고작성 작업을 마치고 ISBN 등록도 마쳤구요. 두군데 플랫폼에 전자책 등록까지 마쳤습니다. 자식이 하나 더 생긴 그런 기분입니다. 등록하고 이젠 일주일이 지났는데.. 그래도 몇몇분이 구매..
mariadb mysql 특정 스키마 테이블 ddl 추출 프로그램 배포 mariadb mysql 특정 스키마 테이블 ddl 추출 프로그램 배포 안녕하세요. sTricky 입니다. 저 sTricky가 오늘부터 작은 목표를 하나 만들었습니다. ETL을 하는데 있어서 좀 더 편하고, 공짜로 하실수 있도록 간단한 툴을 파이썬으로 제작 해보는건데요. 처음부터 완벽하고 거창하게 시작 할 수는 없어서, step by step 으로 나가보도록 하겠습니다. 그래서, 오늘 처음으로 mariadb나 mysql에서 특정 스키마의 테이블 ddl을 추출 하는 프로그램을 작성했고, 공개 하도록 하겠습니다. 필요하신분들은 가져다가 쓰시고, 저보다 파이썬이나 DB에 더 능숙 하신분들은 프로그램 코드도 공개를 하니, 수정해서 쓰시면 되겠습니다. 주의 하실점은 본인보다 못했다고 욕하기는 없습니다. 그리고, ..
[mariadb] binary log 안전하게 삭제하는 방법 [mariadb] binary log 안전하게 삭제하는 방법 mariadb를 운영할때, DB 서버의 용량 관리를 잘 하셔야 합니다. Binary log는 애초에 설치를 하게 되면 셋팅이 되어 있습니다. 우선 Binary log가 뭔지 확인 하고, 어떻게 지워야 하고, 관리를 해야 하는지 알아 보겠습니다. mariadb binary log 란? 일반적으로 MySQL과 mariadb의 binary log 개념은 같습니다. 여기서 Binary Log 는 add, delete, insert, update 등의 query 가 저장되어 있는 파일로서 MySQL이나 mariadb를 설치하게 되면 기본적으로 MySQL Binary Log 가 생성되게 되어 있습니다. mariadb binary log 조회 방법 mari..
mysql binary log 복구 방법 & create update delete insert alter 명령어 추출 방법 mysql binary log 복구 방법 & create update delete insert alter 명령어 추출 방법 # binary log 파일 확인 방법 mysql이 설치된곳에서 data 폴더로 이동하면 mysql-bin.000001 과 비슷하게 생긴 파일들이 보이실겁니다. mysql이 아니라 DB명으로 파일이 생성 되어 있을 수도 있습니다. 이 파일들은 mysql을 설치하고나서 부터 실행된 모든 DML 혹은 DCL등이 저장 되어 있습니다. 이 기록을 가지고 DB을 복구 할수도 있겠지요. 우선, 위 파일들로 복구나 추출을 하기전에 백업을 해두시길 바랍니다. 백업은 작업전 필수 사항 입니다. os#> cp -arp /usr/local/mysql/data /usr/local/mysql/data_ba..