본문 바로가기
반응형

Database/MYSQL238

Mysql sql_mode 항목정리 Full List of SQL Modes • ALLOW_INVALID_DATES 날짜를 완전히 확인하지 마십시오. 달이 1에서 12 사이의 범위에 있고 일의 범위가 1에서 31 사이인지 확인하십시오. 이는 세 개의 다른 필드에서 년, 월, 일을 얻는 웹 응용 프로그램에 유용 할 수 있으며 사용자 날짜 유효성 검사없이 삽입되었습니다. .. 2018. 5. 8.
MySQL Strict mode 끄기/켜기 Strict mode MySQL 의 CHAR 나 VARCHAR 컬럼에 데이타를 입력할 경우 컬럼 사이즈보다 큰 데이타가 입력됐을때 당연히 DB 차원에서 insert 가 안 되는줄 알았다. 그런데 특정 서버에서는 사이즈보다 큰 부분이 truncate 되고 insert 되어 찾아보니 MySQL 서버의 sql_mode 라는 설정의 strict mode에 따라 데이타 검.. 2018. 5. 8.
Mysql 문자열에서 특정문자 개수 구하기 DECLARE @STR VARCHAR(20); SET @STR = '2479_2480_2482'; SELECT CHAR_LENGTH(@STR) - CHAR_LENGTH(REPLACE(@STR,'_','')) ,SUBSTRING_INDEX(@STR," ",(CHAR_LENGTH(@STR) - CHAR_LENGTH(REPLACE(@STR,'_','')))); 결과값: 2 , 2479_2480 2018. 5. 4.
Mysql 5.7 myisamchk 실행시 당황하지 않기 Mysql 5.6 버젼까지는 myisamchk -r mytable.MYI 를 이용하였으나 Mysql 5.7 버젼에서는 에러가 발생한다. # myisamchk mytable Checking MyISAM file: mytable Data records: 17952 Deleted blocks: 0 - check file-size - check record delete-chain - check key delete-chain - check index reference - check data record references index: 1 # myisamchk mytable.MYI myisamch.. 2018. 5. 4.
MySQL 자주 사용하는 쿼리 모음과 관리 팁(링크) 설명글을 너무 잘정리해놓은 곳이 있어 관련 내용 공유 합니다. 링크 : http://blog.kichul.co.kr/2017/03/13/2017-03-13-mysql-note/ 모니터링 1234567891011121314151617181920/* 프로세스 보기 */SHOW PROCESSLIST /* 좀 더 자세히 프로세스 보기 */SHOW FULL PROCESSLIST /* 서버 상태 보기 */SHOW STATUS /* 현재 세션 변수들 */SHOW SES.. 2018. 5. 3.
MySQL 5.6 => 5.7 업그레이드 # MySQL 5.6 주요 서버변수 변경점 중요한 설정 변수의 기본값이 변경되거나 호환성을 위해 설정이 필요한 부분들이 있습니다. MySQL 5.6은 대체로 확장성을 증대시키는 방향으로 기본 설정들이 변경되었으며 binlog_checksum 과 innodb_checksum_algorithm 등 구 버전과의 연계를 위한 호환 설정도 다수 .. 2018. 4. 17.
Mysql Full-text Index 데이터를 이용한 인덱싱 기법 [n-gram parser ] DROP TABLE TB_NAME; CREATE TABLE TB_NAME ( auto_no int not null auto_increment comment '자동증가값', cols1 varchar(200), cols2 text FULLTEXT INDEX ngram_idx(cols1, cols2) WITH PARSER ngram ) # Index 추가 ALTER TABLE TB_NAME ADD FULLTEXT INDEX idx_cols (cols1, cols2) WITH PARSER ngram; CREATE FULLTEXT INDEX ngram_idx ON TB_NAME (cols1, cols2) WITH PARSER ngram; REPAIRE T.. 2018. 4. 17.
Mysql 5.6 과 Mysql 5.7 버젼업시 체크 사항 [datetime] Mysql 5.6 과 Mysql 5.7 버젼업시 체크 사항 # DATETIME 컬럼의 DEFAULT 설정 > 5.6 => DEFAULT '0000-00-00 00:00:00' > 5.7 => DEFAULT CURRENT_TIMESTAMP # TIMESTAMP 일경우 ts1 TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- default 0 ts2 TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP -- default NULL # DATETIME 의 경우 dt1 DATETIME ON UPDATE CURRENT_TIMESTAMP, -.. 2018. 4. 17.
2018년 연차개정으로 인한 연차계산 2018년 연차개정으로 인해 계산방식이 바뀝니다. https://blog.naver.com/cc3729k/221248665312 # 1년차 : 11개부터 차감됨 SELECT MONTH('2018-12-31') - MONTH('입사일자') # 2년차 SELECT 올림(올해월수 + (전년도 근무수/365)*15); SELECT CEIL((MONTH('입사일자')-1) + (((DATEDIFF(CONCAT(YEAR('입사일자'),'-12-31'),'입사일자'))/365)*15)).. 2018. 4. 12.
[Innodb 백업] Percona xtrabackup 설치 및 사용 보통 MySQL 을 백업할땐 mysqldump 를 쓰거나 데이타 디렉토리를 통째로 카피해서 관리하게 된다. mysqldump의 경우 복구시 테이블을 생성하고 다시 데이타를 쌓는 부분이라 복구가 불편하고 거기다 InnoDB에서 외래키를 설정했 을 경우 순서가 맞지 않으면 인서트시에 오류가 발생 할 수도 있다. .. 2018. 3. 16.
mysql 5.7 user mysql.sys MySQL 5.7.7 이상에는 성능 스키마에서 수집 한 데이터를 DBA 및 개발자가 해석하는 데 도움이되는 개체 집합 인 sys 스키마가 포함되어 있습니다. sys 스키마 객체는 일반적인 튜닝 및 진단 유스 케이스에 사용될 수 있습니다. 이 스키마의 객체는 다음과 같습니다. • 성능 스키마 데이터를.. 2018. 2. 14.
MySQL -myisamchk: error: myisam_sort_buffer_size is too small 대처 큰용량의 테이블의 경우 myisamchk 실행시 발생되는 에러입니다. myisamchk: error: myisam_sort_buffer_size is too small MyISAM-table 'Table_name.MYI' is not fixed because of errors Try fixing it by using the --safe-recover (-o), the --force (-f) option or by not using the --quick (-q) flag # 실행 방식 myisamchk -r -q TABLE.MYI --sort_buffer_size=2G myisam.. 2018. 1. 30.
mysqldump 사용법 mysqldump MySQL의 대표적인 Logical 백업 프로그램으로서 스토리지 엔진에 상관 없이 백업을 받을 수 있는 tool 입니다. mysqldump 는 기본적으로 dump를 하려고 하는 테이블에 대한 SELECT 권한, dump하려는 view에 대한 SHOW VIEW 권한, dump하려는 trigger에 대한 TRIGGER 권한을 가지고 있어야 합니다. 만약, --s.. 2018. 1. 16.
MySQL Dump시 Procedure, Function, Trigger 포함하여 백업하기 복원에 실패한 자는 용서할 수 있어도 백업에 실패자는 용서가 안 된다는 말이 있듯이 백업의 중요성은 언제나 강조해도 부족합니다. MySQL 운영 시 백업을 하면 보통 아래 Dump 명령어를 이용해서 백업합니다. mysqldump -uroot -ppassword databasename > dump.sql 데이터만 쌓여 있는 경우 문제가 없지.. 2018. 1. 16.
MySQL root password reset 하기 Linux & Un*x --init-file 옵션 사용mysqld 를 구동할 수 있는 계정(ex: mysql or root) 으로 login 한다.MySQL 서버를 중지한다. Linux service mysql stopUnixmysqld 종료 스크립트가 있다면 실행해서 종료한다. 없으면 mysql의 pid 파일을 찾은후에 kill (kill -9 로 종료하면 안 됨!. - 참고 자료) 종료한다. (kill 뒤에 옵션.. 2018. 1. 16.
[DB] DB Sharding은 무엇이고, 적용 전략은? ( 적용시 고려사항 ) 1. 샤딩 ( sharding ) 이란 무엇인가? 2. 샤딩 및 전략 2.1 vertical partitioning 2.2 Range Based Partitioning 2.3 Key or Hash Based Partitioning 2.4 Directory Based Partitioning 3. 샤딩 적용시 고려사항 1. 샤딩 ( sharding ) 이란 무엇인가? 관계형 데이터베이스에서 대량의 데이터를 처리하기 위해서 데이터를 파티셔닝하는 .. 2018. 1. 15.
Mysql Shard 관련 참고 자료 - ADT 활용 예제1: MySQL Shard 데이터 재분배 http://tech.kakao.com/2016/07/01/adt-mysql-shard-rebalancing/ - 빌드하기 (Build) https://github.com/kakao/adt/blob/master/README_ko.md#빌드하기-build - 실행하기 https://github.com/kakao/adt/blob/master/README_ko.md#실행하기 Range 방식의 한계 특정 ID값을 기준으로, ID 범위에 따라 샤드를 .. 2018. 1. 15.
load data infile로 cvs 타입 및 오류에 대한 대처 및 sed로 " 안의 , 제거하기 load data infile로 csv 파일 내용을 mysql 테이블로 import했는데 warning 개수가 넘 많다 -_-;; LOAD DATA INFILE '/var/lib/mysql-files/sample.csv' INTO TABLE sample FIELDS TERMINATED BY ',' IGNORE 1 LINES; Query OK, 12147957 rows affected, 65535 warnings (1 min 44.92 sec) show warnings; 로 경고 메세지를 확인하니 아래와 같이 테이블의 input colu.. 2018. 1. 10.
MySQL Connection 명령어 및 항목 1. 모니터링 및 초기화 명령어 show status – MySQL 데이타베이스의 현재 상황show Processlist – MySQL 프로세스 목록show variables – 설정 가능한 모든 변수 목록flush logs – MySQL의 로그파일 초기화flush status – MySQL 상태정보 초기화flush thread – 쓰레드 캐시에 저장된 쓰레드 초기.. 2018. 1. 8.
MySQL server has gone away 에러가 발생하는 원인 # MySQL server has gone away 에러가 발생하는 원인 - 커넥션이 끊어진 이후에 쿼리를 전송했을 때 - max_allowed_packet 을 초과하는 크기의 쿼리를 전송했을 때 - wait_timeout 을 초과하여 커넥션이 끊어진 경우 - 잘못된 쿼리를 지속적으로 전송하여 서버가 차단한 경우 대부분 MySQL 에 설정된 데이터 전송량이나 전송시간을 초과 하는 경우 발생합니다. 이런경우 MySQL 설정파일인 my.cnf 에서 아래 값을 변경해주시면됩니다. MySQL 기본값은 wait_timeout 8시간, max_allowed_packet 는 16M 입니다. wait_timeout = 28800 max_allowed_packet = 16777216 2017. 12. 27.
반응형