본문 바로가기

DBMS/MySQL

(7)
[MySQL] InnoDB 데이타 파일 추가(system tablespace) 개요 초기 MySQL은 InnoDB 데이타 파일을 기본적으로 하나만 생성을 한다. 이렇게 운영하다 데이터가 많이 쌓일 경우 Disk I/O 문제가 발생할 소지가 있다. 이를 완화하기 위해 데이터파일을 여러개 만들어 Disk I/O를 분산시켜야 할 경우가 있다. 또는 파일시스템 Full 로 인하여 추가적인 데이타 파일을 생성이 필요할 경우도 발생한다. 여기서는 다중 데이터파일을 생성하는 방법에 대해서 알아 보도록 한다. 구성환경 mysql 5.7.26 / CentOS 7.6 데이타파일 추가 절차 요약 1. 모든 InnoDB 테이블 Dump 백업(mysql 스키마 포함) 2. mysql server 중지 3. ibddata,ib_log 포함한 모든 테이블스페이스 삭제(.ibd) - mysql 스키마에 위치한..
[MySQL] mysqldump 백업 개요 mysql 백업으로 가장 많이 사용되는 유틸리티 중 하나가 mysql에 내장된 mysqldump 명령어 입니다. 다른 유틸리티로는 mysqlhotcopy, xtrabackup 소프트웨어 등이 있다. 다만 mysqlhotcopy는 5.6버전에서 지원되었지만 5.7 버전에서는 제거 되었다. xtrabackup는 별도의 소프트웨어를 설치해야만 사용가능하다. 구성환경 mysql-5.7.26 / CentOS 7.6 문법 mysqldump [--옵션] --all-databases mysqldump [--옵션] --databases db_name mysqldump [--옵션] --databases db_name --tables table_Name 옵션 --all-database(-A) : mysql와 모든 사용..
[MySQL] 바이너리 로그 파일 개요 바이너리 로그 파일은 데이타베이스 변경(테이블 생성,삭제등) 및 테이블 변경(insert,update,delete ..) 사항들이 기록되는 바이너리 형태의 파일이다. 바이너리 로그는 로그 파일과 인덱스 파일 두개로 구성 된다. 인덱스 파일은 바이너리 로그 파일의 리스트를 가진 텍스트 파일로 .index 확장자를 가진다. 1. 바이너리 로그를 활성화 - my.cnf 파일에 log-bin, server-id 추가 [mysqld] log-bin server-id=1 log-bin[=basename] 에서 basename을 정의 하지 않을 경우 -bin.00000N 으로 생성됨 2. 바이너리 로그 파일 옵션 log-bin[=basenam] : 바이너리 로그 파일 이름, 절대 경로 설정 가능 max_binl..
[MySQL] InnoDB 파일 구조 개요 InnoDB 엔진을 사용하는 테이블의 파일 구조 구성 환경 Mysql-5.7 버전 각 Storage Engine 테이블의 파일 명명 InnoDB 테이블 : 테이블의 데이타는 테이블스페이스에 저장되고, 테이블 구조 파일은 database 디렉토리에 .frm 형태로 존재 MyISAM 테이블 : 데이타베이스 디렉토리에 .frm(테이블 구조 파일), .MYD(데이타 파일), .MYI(인덱스 파일) 형태로 존재 InnoDB 파일 구조 tablespace(system tablespace file + file-per-table tablespace + general tablespace + undo tablespace + Global Temporary Tablespace) + redo log file 1. tabl..
[mysql] 기본 명령어 개요 구성 환경 CentOS 7.6 / mysql-5.7.26 1. 데이타베이스 생성 mysql> create database db_name ; 2. 사용자 생성 mysql> create user 'user_name'@'%' identified by 'user_password' ; mysql> create user 'user_name'@'localhost' identified by 'user_password' ; mysql> flush privileges ; 3. 사용자에게 데이타베이스 권한 부여 문법 : grant priv_type on db_name.tbl_name to 'username'@'host' ; mysql> grant all on db_name.* to 'username'@'%' ; 4. ..
[MySQL] mysql connector-J 설치 개요 JAVA 프로그래밍에서 MySQL 연결시 필요한 mysql connector-J 를 설치 1. 다운로드 https://dev.mysql.com/downloads/connector/j/ 에서 최신 버전 다운로드(선택에서 Platform Independent 선택) 이전 버전을 설치 하고자 할경우 우측상단 클릭하면 해당 버전을 찾을수 있다 2. 설치 압축해제후 mysql-connector-java-x.x.x.jar 파일을 CLASSPATH에 등록해 주면 된다. 3. Connector/J 버전별 지원하는 MySQL 및 JAVA 버전 3.1 Connector/J 5.1 버전 3.2 Connector/J 8 버전 참조 : https://dev.mysql.com/doc/connector-j/8.0/en/con..
[MySQL] 설치(Source Code) 개요 예전 MySQL 3.x 버전에서는 source code를 컴파일하여 설치를 많이 했었다. 그러다 한동안 컴파일을 이용한 설치를 하지 않다가 최근 5.x버전 컴파일 과정에서 헤맨 경험이 있어 정리를 해보고자 한다. 설치 환경 MySQL : mysql-boost-5.7.26.tar.gz OS : CentOS 7.6 설치 1. mysql 다운로드 mysql source code는 boost headers가 포함된 패키지와 미포함된 패키지가 있다. boost hearders가 미포함된 패키지는 boost를 다운받거나 OS에 포함된 rpm을 이용하여 설치 할수 있다. 다운로드 주소 : https://dev.mysql.com/downloads/mysql/ MySQL Community Server 버전 2. 사..