insert 시 한글 깨짐 문제가 발생할 경우 점검사항

리눅스/MySQL|2018. 5. 17. 09:28
반응형

dump 파일을 수정하여 넣었을 경우 아래와 같이 언어셋 쿼리가 빠졌을 수 있습니다.

주석처럼 보이지만 아님..


주의할것은 수동으로 언어셋과 테이블 생성까지 해줘야 하는것. (언어셋 후 daump 에서 테이블 생성하면 안됨)

그 이후에는 dump 파일을 가지고 밀어넣으면 됩니다.


use sysdocu;


/*!40101 SET @saved_cs_client     = @@character_set_client */;

/*!40101 SET character_set_client = utf8 */;


CREATE TABLE `sysdocu_test` (

... 생략 ...

) ENGINE=InnoDB DEFAULT CHARSET=euckr;


여기까지 수동 입력 후 insert 만 들어있는 파일을 밀어 넣으면 됩니다.

mysql> source sysdocu.sql



반응형

댓글()

테이블명 변경 (테이블 이름 변경)

리눅스/MySQL|2018. 5. 17. 09:16
반응형

RENAME TABLE 테이블명 TO 새테이블명;



반응형

댓글()

mysql 데이터를 날짜로 비교하여 데이터 가져오기 or 삭제하기

리눅스/MySQL|2018. 5. 14. 17:06
반응형

아래 예제를 수정하여 쿼리를 실행하면 됩니다.


삭제하기 전에 만드시 select 를 먼저 해보고 delete 쿼리를 실행하도록 합니다.


mysql> select * from sysdocu_test where reg_date between '2018-04-23 00:00:01' and '2018-04-27 23:59:59';


mysql> delete from sysdocu_test where reg_date between '2018-04-23 00:00:01' and '2018-04-27 23:59:59';



반응형

댓글()

파일의 sha256 해시값 확인하기

리눅스/OS 일반|2018. 5. 8. 15:29
반응형

openssl sha -sha256 /root/file.txt



반응형

댓글()

MySQL & MariaDB 파티셔닝의 설정,추가,삭제,재구성

리눅스/MySQL|2018. 5. 8. 08:55
반응형

공식 문서

https://dev.mysql.com/doc/refman/5.6/en/partitioning-selection.html

파티션 지원 확인
SHOW VARIABLES LIKE ‘%partition%’;

— 생성

  1. CREATE TABLE `parttest_tbl` (
  2. `sid` int(11) NOT NULL AUTO_INCREMENT,
  3. `f1` varchar(255) CHARACTER SET latin1 DEFAULT NULL,
  4. PRIMARY KEY (`sid`)
  5. ) ENGINE=InnoDB AUTO_INCREMENT=202 DEFAULT CHARSET=utf8
  6. PARTITION BY RANGE (`sid`)
  7. (PARTITION `c0` VALUES LESS THAN (100) ENGINE = InnoDB,
  8. PARTITION `c1` VALUES LESS THAN (200) ENGINE = InnoDB,
  9. PARTITION `c2` VALUES LESS THAN (300) ENGINE = InnoDB,
  10. PARTITION `cn` VALUES LESS THAN MAXVALUE ENGINE = InnoDB);

— 기존에 사용하는 테이블

  1. CREATE TABLE `parttest_tbl` (
  2. `sid` int(11) NOT NULL AUTO_INCREMENT,
  3. `f1` varchar(255) CHARACTER SET latin1 DEFAULT NULL,
  4. PRIMARY KEY (`sid`)
  5. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

— 파티셔닝 생성

  1. alter table parttest_tbl partition by range (sid)
  2. (
  3. partition c0 values less than (100),
  4. partition c1 values less than (200),
  5. partition cn values less than MAXVALUE
  6. );

— 테이블 확인

— 파티셔닝 삭제 (delete 기능 – data 삭제 된다 주의!!)
ALTER TABLE parttest_tbl DROP PARTITION c0;

— 원복 합치기 파티셔닝 삭제
ALTER TABLE parttest_tbl REMOVE PARTITIONING;

— 파티션 확인

  1. SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, PARTITION_ORDINAL_POSITION, TABLE_ROWS
  2. FROM INFORMATION_SCHEMA.PARTITIONS
  3. WHERE TABLE_NAME = 'parttest_tbl';

— 파티션 별 select
SELECT * FROM parttest_tbl PARTITION (c0);
SELECT * FROM parttest_tbl PARTITION (c0, c1);

/*
예를 들면 [매월]로 파티션을 나누고 싶어, 테이블에는 [년]과 [월]이 다른 컬럼에 있는 경우.
서브 파티션(복함파티셔닝)을 사용한다.
*/

  1. ALTER TABLE `parttest_tbl`
  2. PARTITION BY RANGE (YEAR(`year`))
  3. SUBPARTITION BY HASH (MONTH(`month`))
  4. SUBPARTITIONS 12 (
  5. PARTITION p2013 VALUES LESS THAN (2013) ENGINE = InnoDB,
  6. PARTITION p2014 VALUES LESS THAN (2014) ENGINE = InnoDB,
  7. PARTITION p2015 VALUES LESS THAN (2015) ENGINE = InnoDB,
  8. PARTITION p2016 VALUES LESS THAN (2016) ENGINE = InnoDB,
  9. PARTITION p2017 VALUES LESS THAN (2017) ENGINE = InnoDB,
  10. PARTITION p2018 VALUES LESS THAN (2018) ENGINE = InnoDB,
  11. PARTITION p2019 VALUES LESS THAN (2019) ENGINE = InnoDB,
  12. PARTITION p2020 VALUES LESS THAN (2020) ENGINE = InnoDB,
  13. PARTITION pmax VALUES LESS THAN MAXVALUE
  14. );

 [출처] https://www.galgulee.com/mysql-mariadb-%ED%8C%8C%ED%8B%B0%EC%85%94%EB%8B%9D%EC%9D%98-%EC%84%A4%EC%A0%95%EC%B6%94%EA%B0%80%EC%82%AD%EC%A0%9C%EC%9E%AC%EA%B5%AC%EC%84%B1/

반응형

댓글()

mariadb 다운로드 주소

리눅스/MySQL|2018. 5. 4. 19:55
반응형

http://ftp.lfs-matrix.net/pub/blfs/conglomeration/mariadb/


반응형

댓글()

테이블 복사 및 데이터 복사하기

리눅스/MySQL|2018. 5. 2. 09:02
반응형

* 테이블을 생성하면서 데이터도 같이 복사

select * into [새로운 테이블명] From [기존 테이블명]


 

* 구조만 복사

select * into [새로운 테이블명] From [기존 테이블명] Where 1=2

 


* 테이블에 있는 데이터만 복사

inser into [복사될 테이블명] Select * From [기존 테이블명]


 

* 특정 데이터만 복사 

inser into [복사될 테이블명] Select * From [기존 테이블명]  Where 조건



출처: http://blog.okno.co.kr/419 [JavaRa~!!]

반응형

댓글()

테이블 엔진 변경하기

리눅스/MySQL|2018. 5. 1. 18:56
반응형

InnoDB로 변경

ALTER TABLE `테이블명` ENGINE = INNODB


MyISAM으로 변경

ALTER TABLE `테이블명` ENGINE = MYISAM

반응형

댓글()

innodb 데이터 깨졌을 경우 복구 방법 (Table [테이블명] doesn't exist in engine)

리눅스/MySQL|2018. 4. 30. 17:49
반응형

[증상]


ERROR 1932 (42S02): Table [테이블명] doesn't exist in engine



[해결]


1) 전제

  - 해당 테이블의 엔진은 InnoDB 이며 ibd, frm 파일이 존재함.

  - 테이블의 스키마 구조를 알아야 함.


2) 실행

- 서비스 종료 후 ibd 파일, frm 파일 백업

- 서비스 시작 후 해당 테이블 drop

- 테이블 재생성

- 테이블스페이스 변경


mysql> ALTER TABLE [테이블명] DISCARD TABLESPACE ;

system cp /백업경로/[테이블명].ibd [데이터베이스 데이터 디렉토리]

mysql> ALTER TABLE [테이블명] IMPORT TABLESPACE ;



출처: http://adbancedteam.tistory.com/194 [aDBanced Team]

반응형

댓글()

ceilometer (몽고디비) 관련 에러시 점검사항들

리눅스/OpenStack|2018. 4. 23. 09:26
반응형

76 (마스터), 77 (슬레이브) 일때


1. 16번 서버에서 netstat -nltp 로 mongodb 데몬이 올라와 있는지 확인


2. /var/www/html/monitor.html 파일이 있는지 확인

아래 명령으로 생성이 가능하다

# crm_mon --daemonize --as-html /var/www/html/monitor.html

(/etc/rc.local 에도 등록이 되어있다)


3. crm status 나 http://15.31.245.1/monitor.html 과 같은 모니터링 페이지에서

    에러난 데몬이 있는지 보고 cleanup 해주면 된다.


4. 컨트롤러 서버에서

# service ceilometer-api restart


5. 몽고디비 서버에서

# service ceilometer-agent-central restart

# service ceilometer-agent-notification restart

# service ceilometer-collector restart


ceilometer sample-list 로 최근 내용까지 갱신 되는데 시간이 좀 걸린다.



반응형

댓글()

Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

리눅스/OS 일반|2018. 4. 19. 16:25
반응형

가끔 $sudo apt-get update를 할 때

아래 메시지가 발생할 때가 있다. (우분투 14.04기준)


Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)


간단하다.


$sudo rm /var/lib/apt/lists/* -vf

$sudo apt-get update




출처: http://kkn1220.tistory.com/123

반응형

댓글()