[MySQL] TIMESTAMP 속성 문제
·
프로젝트 관련 조사/DB
입력 날짜를 자동으로 입력되게 하기 위해서 TIMESTAMP 를 사용 했습니다. 그런데 날짜 필드를 수정 하지 않더라도, 다른 정보를 수정하게 되면 같이 변경 되어 버리네요. 필드가 regidate 인데 속성을 TIMESTAMP 로 잡혀 있습니다. 최초 입력시만 자동 등록되고, 수정하더라도 바뀌지 않게 하려면 어떻게 해야 하는지요? mssql만 주로 하다보니, 몰랐던 부분이라 당황 스럽네요 ㅠㅠ 자답 입니다. 기본값을 current_timestamp 로 변경 하니 되네요. 기본값이 CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 로 되어 있더군요. 1. ALTER TABLE `invoices`.`invoices` CHANGE `DateTime` `DateTime` TIM..
[MySQL] MySQL 기본 character set 설정하기
·
프로젝트 관련 조사/DB
출처: http://ra2kstar.tistory.com/97 http://develop.sunshiny.co.kr/385 ## 각각의 캐릭터 셋을 변경 - 이 변경 방법은 mysql 데몬이 재실행 될경우에 초기화 됨. mysql> SET character_set_client = utf8; mysql> SET character_set_results = utf8; mysql> SET character_set_connection = utf8; mysql> ALTER DATABASE DB명 DEFAULT CHARACTER SET utf8; commit; MySQL 기본 패키지는 character set 이 latin1로 설정되어 있다. 따라서 서버에 따라서 세팅을 바꿔줘야 할 필요가 있다. 나같은 경우에는 U..
[MySQL] 최근 1주일 데이터 가져오기
·
프로젝트 관련 조사/DB
mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col)
[MySQL] convert Unix time stamp to Epoch
·
프로젝트 관련 조사/DB
http://www.epochconverter.com/programming/mysql-from-unixtime.php 그림1 그림1은 unix time을 나타낸다 그림2는 Epoch 시간을 나타내며 unix_timestamp() 함수를 써주면 변환이 된다. Quick summary Get current epoch time SELECT UNIX_TIMESTAMP(NOW()) (now() is optional) Today midnight SELECT UNIX_TIMESTAMP(CURDATE()) Yesterday midnight SELECT UNIX_TIMESTAMP(DATE_ADD(CURDATE(),INTERVAL -1 DAY)) Convert from date to epoch SELECT UNIX_TIM..
[MySQL] csv 파일을 직접 MySQL 테이블로 Import 하는 방법 (대용량 파일 import 팁)
·
프로젝트 관련 조사/DB
출처: http://moonlighting.tistory.com/140 MySQL 테이블에 데이터를 넣는 방법 중 csv 파일을 직접 넣는 방법이 있다. csv 파일과 DB 테이블 구조가 일치하면 아래와 같이 입력하면 된다. ? 1 2 LOAD DATA LOCAL INFILE "filePath" INTO TABLE dbName.tableName FIELDS TERMINATED BY ","; 만약 파일의 크기가 크고 테이블에 index가 걸려 있으면 시간이 굉장히 오래 걸릴 수 있다. 그럴 경우에는 아래와 같이 index를 먼저 해제해 주고 파일을 올린 다음 다시 index를 걸면 상당히 빠르게 테이블에 데이터를 넣을 수 있다. ? 1 2 3 4 ALTER TABLE dbName.tableName DISA..
[MySQL] ISODate를 MySQL에 집어 넣기
·
프로젝트 관련 조사/DB
출처:https://code.mythtv.org/trac/ticket/8585 MySQL Documentation에는 ISODate format이 datetime format과 일치하지는 않는다고 되어있다. 그래도 그냥 속성에 datetime을 입력하고 MySQL에 들어오는 값들을 확인하였다. 결과는 NULL로 찍힌다.. Documentation 말이 맞넴.. 그림3은 time format을 timestamp로 바꾸고 확인해본 화면이다. timestamp는 mysql로 들어올때 format이 안맞으면 시스템 현재 시간을 저장한다. 그림 4를 보면 시간이 잘 들어 온 것을 확인 할 수 있었다. 그림 5는 로그 수집서버이고, 그림 4는 솔루션 즉 로그를 받아서 분석하는 서버이다. 그림 4와 그림 5를 보면 ..
[MySQL] 테이블 생성, 컬럼 추가, 삭제, 수정
·
프로젝트 관련 조사/DB
출처:http://mcpaint.tistory.com/194 /* 테이블 생성 */ create table [테이블명](id int,name varchar(20)); /* 컬럼 추가 */ alter table [테이블명] add [컬럼명] [타입] [옵션]; ex) alter table [테이블명] add [컬럼명] varchar(100) not null default '0'; /* 컬럼 삭제 */ alter table [테이블명] drop [컬럼명]; /* 컬럼명 변경 및 타입 변경 */ alter table [테이블명] change [컬럼명] [변경할컬럼명] varchar(12); /* 컬럼 타입 수정 */ alter table [테이블명] modify [컬럼명] varchar(14); /* 테이블명..
[MySQL] Ubuntu MySQL 원격 접속 허용
·
프로젝트 관련 조사/DB
출처:https://opentutorials.org/module/1175/7779 a. MySQL Folder로 이동 cd /etc/mysql b. my.cnf 파일을 출력 sudo nano my.cnf port = 3306 bind-address = 127.0.0.1 127.0.0.1은 현재 Lock이 걸린 상태기 때문에, root 계정 이외의 접속자는 제한된다. 원격접속을 허용 해야함으로, # 을 넣어 Lock을 풀어준다. # bind-address = 127.0.0.1 저장 ! c. MySQL Restart sudo /etc/init.d/mysql restart d. Run MySQL mysql -uroot -p e. Ubuntu MySQL 원격접속 허용 명령 실행 1 grant all privil..
[MySQL] Mysql 리플리케이션(Replication) - 실시간 DB 동기화
·
프로젝트 관련 조사/DB
출처:http://www.koreaidc.com/bbs/set_view.php?b_name=idcpds&w_no=104 https://www.digitalocean.com/community/tutorials/how-to-set-up-master-slave-replication-in-mysql #MYsql 리플리케이션이란? # Replication은 3.23.15부터 지원되기 시작한 기능으로 ‘복제’라는 사전적 의미에 맞게 마스터의 MySQL 서버의 데이터를 여러 대의 슬레이브 MySQL 서버의 데이터와 동기화 시켜주는 기능이다. 주로, MySQL의 데이터를 실시간으로 백업하거나, 데이터 서버의 부하분산을 하고자 할 때 많이 사용된다. 0. 서버 설정 1번서버 - master 서버 : 1차네임서버 : 19..
[MySQL] 우분투 MySQL 설치
·
프로젝트 관련 조사/DB
출처:http://jaesu.tistory.com/entry/ubuntu-mysql-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0 1). mysql 검색 sudo apt-cache search mysql-server 2). mysql 설치 sudo apt-get install mysql-server-5.6 3). 외부에서 접속할 수 있도록 권한부여. (1) mysql database에 로그인. mysql -u root -p mysql -h 192.168.115.207 -P 3306 -u root -p (2) default db 변경 use mysql; (3) 권한부어 GRANT ALL PRIVILEGES ON *.* to 'root'..