본문 바로가기

Database/mariaDB administrator

(57)
MySQL 기본 select SQL 예제 MySQL 기본 select SQL 예제 안녕하세요. 오늘은 MySQL에서 기본적으로 사용되는 select SQL의 예제를 보여드리고 사용법을 안내드리겠습니다. 우선 그전에 여기서 사용될 데이터들에 대해서 간략하게 안내하고, DDL문을 공유하겠습니다. 우선 이번 select SQL 예제 작성을 위해서 3개의 테이블을 생성할 것입니다. student, exam_result, major 이렇게 3개의 테이블을 생성하고요. 각 테이블은 아래와 같은 성격의 데이터가 들어가게 됩니다. student 테이블 student 테이블은 아래와 같이 생겼습니다. 학생 이름, 학번, 생년원일, 성별, 입학 연도, 전화번호, 학과 코드 총 66명의 학생 정보가 들어있습니다. 1. 테이블 DDL create table stud..
Mysql FEDERATED Engine 으로 dblink 구현하기 Mysql FEDERATED Engine 으로 dblink 구현하기 ※본 포스트의 내용은 mysql 과 mariadb에서 호환되어 사용 가능한 내용임을 밝혀드립니다. Mysql 과 Mariadb에서 지원하는 FEDERATED 기능은 사실 Oracle에서 써오던 dblink와는 개념이 다릅니다.Oracle의 dblink가 다른 DB로 어떤 세션을 열어주고, 접속하고나면 권한이 허용된 범위내에서 다양한 작업을 자유롭게 할 수 있는 반면, Mysql 과 Mariadb에서 지원하는 FEDERATED 기능은 각자 다른 DB간의 테이블 동기화의 개념에 더 가깝습니다. 가볍고 간편하게, 별도의 ETL Tool을 쓰지 않고도 물리적으로 다른 DB간에 데이터를 동기화 할 수 있는 좋은 방법 입니다. 아래 그림과 같이 원..
ORACLE to Mysql DBMS로의 Migration 프로세스 ORACLE to Mysql DBMS로의 Migration 프로세스 1. 전환의 계기a. DBMS운영 정책의 변경사내에서 DBMS운영 정책을 저비용으로 변경을 결정 b. 경영진의 책임 있는 결정주요 DBMS의 변경에 따른 리스크를 충분히 검토하고 대응책을 마련하고도 나올수 있는 리스크에 대한 경영진의 책임 있는 자세 c. 서비스 운영 비용의 절감DBMS를 ORACLE에서 open source DBMS로 변경시 운영 비용의 절감 가능성 검토 2. open source DBMS 전환의 장해물a. 안정성적인 측면의 리스크서비스가 기존과 동일하게 원활하게 운영이 될 수 있을지에 대한 안정성 측면의 리스크 검토 필요 b. 작업에 대한 휴먼 리스크전환 작업으로 인하여 발생되는 작업량과 새로운 DBMS 작업에 대한 ..
Mysql objects 개념 정리 for 개발자 Mysql objects 개념 정리 for 개발자 여러분들이 쓰는 Mysql 내에는 어떤 objects들이 있고, 각 object가 Mysql이라는 DBMS내에서 어떤 역할을 하는지 잘 알고 계십니까? 그동안 DB쪽에서 업무를 하면서 수없이 많은 개발자분들을 만나고, 굳이 개발자가 아니더라도 PM이나 PL, 퍼블리셔, 디자이너 분들을 보아오면서 Mysql DB를 쓰지만 정작 테이블내 데이터는 알지만 나머지 objects들에 관해서 잘 알고 계시는 분들은 많이 안계시더라구요~ 물론 제가 내심 똥줄이 탈만큼 긴장 하게 만드시는 DB에 해박하신 개발자님들도 계시지만..Mysql 안에서 SQL말고도 개발자 분들이 꼭 알고 넘어가야 하는 부분에 대해 간략하게 안내서를 작성 해 보겠습니다. 주로 쓰이는 object..
mysql 백업 shell script crontab 예제 mysql 백업 shell script crontab 예제 안녕하세요. mysql 백업을 리눅스 bash shell script로 작성하여 crontab에 등록하여 주기적으로 백업이 되고, 오래된 백업 자료를 삭제하는 것 까지 수행하는 script 예문을 포스팅하겠습니다. 먼저 포스팅을 보시기 전에 아래 주의사항을 참고하여 주시기 바랍니다. 아래 내용은 어디까지나 제가 속한 이곳의 환경과 업무 룰에 맞춰서 작업이 이루어진 것입니다. 아래 내용을 그대로 가져다가 적용하셔도 무관하나, 작업을 하시는 곳에 맞춰서 적당히 내용을 변경하여 사용하시길 바랍니다. 백업 작업에 필요한 조건은 아래와 같습니다. 아래 기재된 조건으로 bash shell script 작업 및 crontab 작업을 적용하였습니다. 1. my..
mysql general_log shell script로 백업 관리 하기 mysql general_log shell script로 백업 관리 하기 안녕하세요. 저는 mysql general_log 파일 형태가 아니고 테이블 형태로 사용하고 있습니다. mysql의 general_log를 설정하셔서 사용하게 되면, 아래와 같이 mysql DB내에서 실행된 다양한 SQL의 log를 기록하고 확인할 수 있습니다. general_log를 파일 형태로 저장하여 볼 수도 있지만, 저 같은 경우에는 그냥 DB 툴을 이용해서 SQL로 바로 확인하는 것이 편해서 테이블로 받는 방법을 선호합니다. general_log 설정 우선 general_log를 mysql에서 설정하는 방법을 알려드려야 하는데, 이전에 이미 작성해둔 관련 포스팅이 있어서 함께 링크를 걸겠습니다. 필요하신 분은 참고하시면 됩..
mysql ERROR 1118 row size too large 오류 해결 방안 mysql ERROR 1118 row size too large 오류 해결 방안 MySQL 운영 중 UPDATE 하는데 갑자기 툭 튀어나온 오류였습니다. 처음 대충 봤을때 또, 칼럼 사이즈가 문제구나 하고, TEXT 였던 칼럼 타입을 LONGTEXT로 바꾸었는데도 자꾸만 발생을 해서 당황하였었죠... 빨리 UPDATE 해야 하는데...ㅠㅠ 그래서 자세히 에러 코드를 살펴보았습니다. ERROR 1118 row size too large.... ERROR 1118 Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In curre..
slow_query_log general_log 테이블 설정 방법 slow_query_log general_log 테이블 설정 방법 mysql 및 mariadb에서 영구적으로 슬로 쿼리 및 SQL general log가 쌓이도록 설정하는 방법을 안내합니다. 우선 아래와 같이 서버에서 my.cnf 파일을 엽니다. vi /etc/my.cnf 위 파일을 열면 여러 가지 설정이 주르륵 나옵니다. 여기에서 [mysqld]라고 표시된 아래쪽으로 이동합니다. 거의 초반부에 있을 겁니다. [mysqld] socket=/tmp/mysql.sock datadir=/home/mysql_data basedir = /usr/local/mysql #user = mysql #bind-address = 0.0.0.0 # skip-external-locking key_buffer_size = 384..