서버에 MySQL 데이터를 주기적으로 백업하기 사용하는 방법 입니다.1. 백업을 수행할 쉘 스크립트 작성#vi /root/mysqlBackup.sh#!/bin/shtime=`date +%Y%m%d%H`mysqldump -u"DB USER" -p"DB PASSWORD" --databases DB NAME > /home/mysqlBackup/$time".sql"위와 같이 vi에서 쉘 스크립트를 작성합니다. (위 내용은 /home/mysqlBackup 디렉 토리에 년월일시간.sql 파일 형태로 백업됍니다.)쉘 스크립트를 작성했다면 실행이 되는건지 테스트를 한번 해봅니다.#chmod 700 /root/mysqlBackup.sh#/root/mysqlBackup.sh 오류메시지가 나타나지 않았고 스크립트내에 지정한..
오전에 작업을 하다보니 정신이 없어서인지 테이블을 날려 먹었습니다.그래서 복구를 하려고 보니 mysql에 쌓이는 쿼리 로그를 통해서 복구하는 방법이 있어서 해봤습니다.(각 디렉토리 경로는 설치환경에 따라 다를 수 있습니다. 붉은색으로 표시한 부분들을 환경에 따라 맞춰서 사용하시면 됩니다.)# cd /var/lib/mysql (mysql 데이터가 쌓이는 경로로 이동합니다.) mysql 데이터가 쌓이는 경로에 들어가면 xxxxxxx-bin.000001과 같은 형식으로 쌓여있는 파일들이 있을건데 이 파일들에 쿼리 로그가 남아있습니다.하지만 바로 열어서 볼 수 없는 바이너리 들이라서 mysqlbinlog 를 이용해야 합니다. # mysqlbinlog mysql-bin.000001 > query.sql 위와 같이..
MySQL에서 AUTO INCREMENT를 사용하다보면 INSERT 쿼리를 실행하며 사용된 AUTO INCREMENT 값을 필요로 할 때가 있습니다.이 때 사용할 수 있는 함수가 LAST_INSERT_ID()라는 함수 입니다.이 함수를 사용하면 가장 최근에 수행된 AUTO INCREMENT 값을 반환해줍니다.INSERT INTO TB_TEST(TEST1, TEST2)VALUES('aaaa','bbbb'); SELECT LAST_INSERT_ID();위와 같이 INSERT 후에 SELECT LAST_INSERT_ID()를 실행하면 바로 전 INSERT 에서 수행된 AUTO INCREMENT 값을 반환 받을 수 있습니다.
DB에는 코드값(예 : 1,2,3,4 ..)으로 저장되어 있는데 저장되어있는 코드에 해당하는 값을 지정해서 select 해올때오라클에서는 DECODE를 사용했었는데 MySQL의 DECODE는 오라클의 DECODE와는 용도가 달라 CASE 문을 이용해야 합니다. SELECT id, ( CASE collegian_state WHEN 0 THEN '마감' WHEN 1 THEN '접수중' WHEN 2 THEN '예정' END )AS stateFROM tablename 위 쿼리 처럼 CASE 필드이름 WHEN 원본값 THEN 받을값 END 형식으로 사용하면 됩니다.
- Total
- Today
- Yesterday
- SQL
- 오블완
- Objective C
- MAC OSX 10.7
- iPhone
- 아이폰
- 티스토리챌린지
- Object C
- iOS 개발
- 오브젝티브 C
- 제이쿼리
- Objective-C
- tomcat
- jQuery
- iBATIS
- JSP
- Java
- 아이폰 어플리케이션
- Spring
- 자바
- Spring Framework
- zero
- 자바스크립트
- Programming
- IT
- MySQL
- oracle
- 오브젝트 C
- 아이폰 개발
- JavaScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |