반응형

MySql 에러

1. error 2002: can't connect to local mysql server through socket '/tmp/mysql.sock'(111)
- mysql 서버 데몬이 아직 시작되지 않은 경우에 발생하는 에러.

2. access to database denied
- 데이터베이스에 접근할 수 없는 권한을 가진 user 가 접속한 경우.

3. can't connect to local mysql server can't connect to mysql server on some_hostname
- mysql 서버 데몬이 실행되지 않았거나, 잘못된 소켓이나 포트 번호에 연결을 시도하는 경우.
- 우선 mysqld 데몬이 작동하는지 ps 명령어를 통해서 확인해본다.

4. error 1044 : access denied for user : 'aaa@ localhost' to database 'mysql'
- 'aaa' 유저에 대해서 mysql 데이터베이스에 접근할 수 없기 때문에 발생하는 에러.

5. error 1045 : access denied for user : 'root@localhost'; (using password: no)
- root 패스워드가 설정되어 있는데, root 패스워드 없이 접근을 시도했을 때 나타나는 에러.

6. ERROR 1006: Can't create database 'testdb'. (errno: 28)
- 하드디스크 파티션 용량이 꽉참.

7. ERROR 1016: Can't open file: 'now.ISM'. (errno: 126)
- 테이블 정보를 담고있는 파일이 깨졌을 경우

8. Got error: 1030: Got error 127 from table handler
- 테이블이 깨졌을 경우.
- 서버를 옮기면서 data 디렉토리에 있는걸 dump 하지않고 copy 해서 옮길 경우 에러생김.
- isamchk 명령을 써서 해결가능할 수도 있습니다. 안될 수도 있습니다.

기타 에러 코드
-----------------------------------------------------------------------
Error code 1: 명령이 허용되지 않음
Error code 2: 그런 파일이나 디렉토리가 없음
Error code 3: 그런 프로세스가 없음
Error code 4: 중단된 시스템 호출
Error code 5: 입력/출력 오류
Error code 6: 장치가 설정되지 않았음
Error code 7: 인수 명단이 너무 깁니다
Error code 8: Exec 형식 오류
Error code 9: 잘못된 파일 기술자
Error code 10: 자식 프로세스가 없음
Error code 11: 자원이 일시적으로 사용 불가능함
Error code 12: 메모리를 할당할 수 없습니다
Error code 13: 허가 거부됨
Error code 14: 잘못된 주소
Error code 15: 블럭 장치가 필요함
Error code 16: 장치나 자원이 동작 중
Error code 17: 파일이 존재합니다
Error code 18: 부적절한 장치간 연결
Error code 19: 그런 장치가 없음
Error code 20: 디렉토리가 아닙니다
Error code 21: 디렉토리입니다
Error code 22: 부적절한 인수
Error code 23: 시스템에 열린 파일이 너무 많음
Error code 24: 열린 파일이 너무 많음
Error code 25: 장치에 대해 부적절한 ioctl
Error code 26: 실행 파일 사용 중
Error code 27: 파일이 너무 큽니다
Error code 28: 장치에 남은 공간이 없음
Error code 29: 잘못된 탐색
Error code 30: 읽기전용 파일 시스템
Error code 31: 연결이 너무 많음
Error code 32: 파이프가 깨어짐
Error code 33: 영역을 벗어난 수치 인수
Error code 34: 범위를 벗어난 수치 결과
Error code 35: 자원 교착상태를 피했습니다
Error code 36: 파일 이름이 너무 깁니다
Error code 37: 사용가능한 잠금장치가 없음
Error code 38: 함수가 구현되지 않았음
Error code 39: 디렉토리가 비어있지 않음
Error code 40: 기호 연결의 단계가 너무 많음
Error code 41: 알 수 없는 오류41
Error code 42: 적당한 형을 가진 메시지가 없음
Error code 43: 식별자 제거됨
Error code 44: 범위를 벗어난 채널 번호
Error code 45: 등급 2가 동기화되지 않음
Error code 46: 등급 3 멎었음
Error code 47: 등급 3 리셋
Error code 48: 범위를 벗어난 링크 번호
Error code 49: 규약 구동기에 연결되지 않음
Error code 50: 사용 가능한 CSI 구조가 없음
Error code 51: 등급 2 멎었음
Error code 52: 부적절한 교환
Error code 53: 잘못된 요청 기술자
Error code 54: 교환이 가득참
Error code 55: anode가 없음
Error code 56: 부적절한 요청 코드
Error code 57: 부적절한 슬롯
Error code 58: 알 수 없는 오류58
Error code 59: 잘못된 폰트 파일 형식
Error code 60: 장치가 스트림이 아님
Error code 61: 사용 가능한 자료가 없음
Error code 62: 타이머 시간 초과됨
Error code 63: 스트림 자원 부족
Error code 64: 기계가 네트워크 상에 있지 않습니다
Error code 65: 패키지가 설치되지 않음
Error code 66: 원격 개체입니다
Error code 67: 링크가 손상되었습니다
Error code 68: 광고 오류
Error code 69: Srmount 오류
Error code 70: 전송 중 통신 오류
Error code 71: 규약 오류
Error code 72: 여러개의 hop이 시도됨
Error code 73: RFS에 국한된 오류
Error code 74: 잘못된 메시지
Error code 75: 정의된 자료형으로 쓰기엔 너무 큰 값
Error code 76: 이름이 네트워크 상에서 단일하지 않음
Error code 77: 파일 기술자가 잘못된 상태에 있음
Error code 78: 원격 주소가 바뀌었음
Error code 79: 필요한 공유 라이브러리에 접근할 수 없습니다
Error code 80: 손상된 공유 라이브러리에 접근함
Error code 81: a.out의 .lib 절이 손상되었음
Error code 82: 너무 많은 동적 라이브러리와 링크하려고 시도하였음
Error code 83: 공유 라이브러리를 직접 실행할 수 없습니다
Error code 84: 부적절하거나 불완전한 다중바이트 또는 광역 문자
Error code 85: 중단된 시스템 호출은 재시작되어야 합니다
Error code 86: 스트림 파이프 오류
Error code 87: 사용자가 너무 많음
Error code 88: 비소켓상의 소켓 동작
Error code 89: 목적지 주소가 필요함
Error code 90: 메시지가 너무 깁니다
Error code 91: 소켓에 대한 규약이 잘못됨
Error code 92: 규약 사용 불가능
Error code 93: 규약이 지원되지 않음
Error code 94: 소켓 타입이 지원되지 않습니다
Error code 95: 명령이 지원되지 않음
Error code 96: 규약군이 지원되지 않음
Error code 97: 주소군이 규약에서 지원되지 않음
Error code 98: 주소가 이미 사용 중입니다
Error code 99: 요청된 주소를 배정할 수 없습니다
Error code 100: 네트워크가 죽었습니다
Error code 101: 네트워크가 접근 불가능합니다
Error code 102: 네트웍이 reset때문에 연결을 끊었습니다
Error code 103: 소프트웨어가 연결 중단을 초래했습니다
Error code 104: 연결이 상대편에 의해 끊어짐
Error code 105: 사용 가능한 버퍼 공간이 없음
Error code 106: 전송 종료지점이 이미 연결되어 있습니다
Error code 107: 전송 종료지점이 연결되어 있지 않습니다
Error code 108: 전송 종료지점이 지난 후에 보낼 수 없습니다
Error code 109: 참조가 너무 많음: 연결할 수 없습니다
Error code 110: 연결 시간 초과
Error code 111: 연결이 거부됨
Error code 112: 호스트가 죽었습니다
Error code 113: 호스트로 갈 루트가 없음
Error code 114: 이미 진행 중인 명령
Error code 115: 지금 진행 중인 명령
Error code 116: 끊어진 NFS 파일 핸들
Error code 117: 구조에 청소가 필요합니다
Error code 118: XENIX named 타입 파일이 아님
Error code 119: 사용 가능한 XENIX 세마포어가 없음
120 = Didn\'t find key on read or update
121 = Duplicate key on write or update
Error code 122: Disk quota exceeded
123 = Someone has changed the row since it was read; Update with is recoverable
124 = Wrong index given to function
Error code 125: 알 수 없는 오류125
126 = Index file is crashed / Wrong file format
127 = Record-file is crashed
131 = Command not supported by database
132 = Old database file
133 = No record read before update
134 = Record was already deleted (or record file crashed)
135 = No more room in record file
136 = No more room in index file
137 = No more records (read after end of file)
138 = Unsupported extension used for table
139 = Too big row (>= 16 M)
140 = Wrong create options
141 = Duplicate unique key or constraint on write or update
142 = Unknown character set used
143 = Conflicting table definition between MERGE and mapped table
144 = Table is crashed and last repair failed
145 = Table was marked as crashed and should be repaired
146 = Lock timed out; Retry transaction
147 = Lock table is full; Restart program with a larger locktable
148 = Updates are not allowed under a read only transactions
149 = Lock deadlock; Retry transaction 


출처 : http://wearekorean.co.kr/zbxe/624

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,
반응형

새로 경로 변경하고 싶은 곳에 data 폴더 만들기

나는 c드라이브 밑으로 해보겠음.

기존의 data 폴더 안에 있는 파일들을 새롭게 지정하고 싶은 data 폴더에 옮겨줌(my.conf는 옮기지 않는다.)

아래 그림과 같이 해주면 된다.

 

my.conf에 새롭게 지정하고 싶은 datadir를 설정해준다.

나는 c드라이브 밑에 있는 data로 설정해주었다.

datadir=C:\data

서비스를 재시작 해준다.

Mariadb 서비스를 재시작 하면 로컬 컴퓨터에서 MariaDB 서비스를 시작하지 못했습니다. 라고 뜬다.

에러 로그를 살펴보면

에러 로그를 살펴보면 privilege(권한) 문제이다.

my.cnf와 새로 만든 /data 폴더의 권한을 허용해준다.

새롭게 설정한 경로가 잘 되는지 테스트하기

create database test2;

서비스를 재시작하고 Mariadb를 실행해서 test2라는 DB를 만들면 새로 설정한 /data 폴더에 잘 들어가는 것을 확인할 수 있다.

- 끝 -

 

다음은 응용 버전으로 data 폴더를 새로 만든 암호화된 디스크로 설정해보겠다.

새로운 디스크에 할당하고 싶으시면 볼륨을 만들고 사용할 수 있게 마운트 하시면 됩니다.

여기서는 암호화된 디스크를 미리 만들어 놓은 상태입니다. 암호화된 디스크의 이름은 K입니다.

방법은 위와 같이 동일합니다.

암호화 볼륨에 data 폴더를 만들고 기존 data 폴더에 있는 것을 복사하기.

-       기존의 data 폴더 안에 있는 my.conf 파일 빼고 삭제하기

-       복사한 data 폴더 안에 있는 my.conf 파일을 삭제하기

결론은 아래 아래 그림과 같습니다.

my.conf를 이용해서 암호화된 디스크의 data로 경로를 변경합니다.

datadir를 암호화된 볼륨 밑에 data디렉토리로 설정.

Mariadb 서비스를 다시 시작하면 마찬기지로 아래와 같은 오류가 뜬다.

옮긴 data의 사용권한 허용

기존의 data 폴더에 있는 my.conf 파일에 대해서도 권한 허용

DB를 생성해보면 새로 설정한 data 폴더에 생성되는 것을 확인할 수 있다.

 

다음에는 log 경로도 변경해봐야겠다 ~~ byebye~

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,
반응형

앞선글에서는 램디스크를 통해 MariaDB를 최적화 했다면 이번에는 InnoDB의 설정을 변경해서 최적화를 진행해보도록하겠다.

먼저 변경해줄 파일은 MariaDB 설정파일인 /etc/mysql/my.cnf 파일이다.

먼저 [mysqld]에 아래 두줄을 추가시켜주자.

skip-host-cache
skip-name-resolve

변경 전

mysql에서 접속시 ip에 대한 resolving을 진행하는데 대부분의 IP의 경우 등록되지않아 쓸데없는 리소스를 사용하기 때문에 skip해준다.

추가

그다음 내리다보면 Tuning이라고 된부분이 보일것이다.

여기서는 max_connections와 아래잘렸는데 key buffer size만 올려주도록하겠다.
max connections이 너무 낮으면 동시접속자가 많거나 한번에 많이쿼리하면 에러가 나기때문에 최소 1000이상은 줘야할거같다.

변경 전

변경 후

그리고 [mysqld] 아래에 있는 InnoDB부분을 찾아가자
이쪽을 수정해줄 예정 innodb_buffer_pool_size만 수정해주자. 값은 메인 메모리에 50%정도가 적당하다
다른 서비스들을 많이올려서 메모리가 부족하면 Swap 까지 끌어쓸수도있기때문에 그거보다는 조금 낮춰서..

기본설정이다

나같은경우 wordpress 전용 웹서버기 때문에 총 4G중 2G를 할당해줬다.

변경 후

옵션을 모두 변경 완료했으면 service mariadb restart로 재시작

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,
반응형

select A.TABLE_SCHEMA as DB
     , A.TABLE_NAME as Table_ID
     , A.TABLE_COMMENT as Table_NAME
     , B.COLUMN_NAME as Column_ID
     , B.COLUMN_COMMENT as Column_Name
     , B.DATA_TYPE as Data_Type

    -- B.CHARACTER_MAXIMUM_LENGTH AS Col_Length, 
     -- CHAR character type에 대해 문자 단위로 보고 싶으면 CHARACTER_MAXIMUM_LENGTH 를 사용하시면 됩니다. 
     -- B.CHARACTER_OCTET_LENGTH AS Col_Length,-- BYTE 
     , case B.DATA_TYPE  when 'varchar' then B.CHARACTER_OCTET_LENGTH
                         when 'char' then B.CHARACTER_OCTET_LENGTH
                         when 'decimal' then CONCAT('(', B.NUMERIC_PRECISION, ',', B.NUMERIC_SCALE, ')')
                         when 'numeric' then CONCAT('(', B.NUMERIC_PRECISION, ',', B.NUMERIC_SCALE, ')')
                         when 'tinyint' then B.NUMERIC_PRECISION
                         when 'smallint' then B.NUMERIC_PRECISION
                         when 'mediumint' then B.NUMERIC_PRECISION
                         when 'int' then B.NUMERIC_PRECISION
                         when 'bigint' then B.NUMERIC_PRECISION
                         when 'date' then B.DATETIME_PRECISION
                         when 'datetime' then B.DATETIME_PRECISION
                         when 'time' then B.DATETIME_PRECISION
                         when 'timestamp' then B.DATETIME_PRECISION
                         else B.CHARACTER_OCTET_LENGTH
       end as Col_Length
     , B.COLUMN_DEFAULT as Default_Value

 -- B.IS_NULLABLE AS Is_Nullables,
     , case B.IS_NULLABLE   when 'NO' then 'N'
                            when 'YES' then 'Y'
       end as Is_Null
     , case B.COLUMN_KEY when 'PRI' then 'Y'
                         else '' end as PK

from INFORMATION_SCHEMA.TABLES A
     , INFORMATION_SCHEMA.COLUMNS B
 where A.TABLE_NAME = B.TABLE_NAME
   and A.TABLE_SCHEMA = B.TABLE_SCHEMA
   and A.TABLE_TYPE = 'BASE TABLE'
   and A.TABLE_SCHEMA in ('epai')
-- AND A.TABLE_SCHEMA in ('db') 
-- AND A.TABLE_SCHEMA in ('ShopDB') 
-- AND A.TABLE_SCHEMA in ('wideshot_service') 
 order by Table_ID , B.ORDINAL_POSITION;

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,
반응형

 

mysql 에서 테이블 생성을 누르면

여러가지 테이블 타입들이 나온다

하지만 머가 먼지 모르고 지금 까지 사용 했다.

 

그래서 너무 궁금해서 오늘 이것 저것 찾아 보았다

 

CSV 

엑셀 형태 이다 ( 솔직히 이거 잘 모르겠다 쓰는 사람도 많이 없고 )

 

 

InnoDB 

InnoDB 테이블은 ACID 트랜잭션이 지원되는 테이블 타입

(ACID 트랜잭션(일관성, 원자성, 격리성, 영속성 을가진 트랜잭션)
참고 : http://blog.naver.com/tomato100vs1?Redirect=Log&logNo=140169117927)


현재는 외래키까지 지원이 된다.

또한 롤백, 충돌복구능력, 커미트 및 핸들링 도 제공
 
로우 레벨 락킹 오라클스타일의 완벽한 논락킹 리드가 select 문제 제공
(-> 동시접속 사용자가 증가하면 할 수록 퍼포먼스가 좋아짐)

외래키 제약을 지원 및 다른 쿼리와 혼합해서 사용가능

결과 : 대형 시스템에서 최대의 퍼포먼서를 냄

(참고 : http://ko.wikipedia.org/wiki/InnoDB 위키백과 )

 

 

MEMORY DB 

또다른 이름으로 Real Time DB 라고도 한다.

이유는 메인 메모리에 데이터 전부(해당 테이블 데이터)를 올려놓고

속도를 비약적으로 향상 시키는 DB

(참고 : Yahoo 웹서비스가 MemoryDB를 커스텀하게 구성하여 돌아간답니다.

웹검색에 최적화하여 메모리DB 미들웨어를 만들어 사용한다는 것 )

 

MRG_MYISAM 

모르겠다. 죄송합니다

 

 

MYISAM 

MySQL의 기본 스토리지 엔진으로
3.23 버전부터 디폴트 타입으로 사용 되었음
CREATE TABLE문으로 테이블을 생성하면, MyISAM 테이블 타입으로 생성된다
(즉, 기본타입으로 널리 알려짐)

 

인덱스는 '.MYI'확장자 파일에 저장되어 있고,
데이터는 '.MYD'확장자 파일에 저장되어 있음

 

myisamchk 유틸리티를 사용하여, 테이블을 체크하거나 복구 가능.
myisampack 유틸리티를 사용하여, 압축이 가능하다.

 

데이터 저장에 실제적인 제한이 없고 매우 효율적으로 저장
full_text 인덱스를 지원하며 특정 인덱스에 대해 메모리 캐쉬를 지원

 

트랜잭션 미지원 이며 테이블 레벨의 락에 대해 지원 잦은
변경 및 삭제에 성능이 안 좋음 
하지만 데드락 발생 예방가능
( 참고 : http://a07274.tistory.com/153 ,

http://ko.wikipedia.org/wiki/MyISAM

 )

 

라고 한다

 

그래도 자세한건 잘 모르겠다

대용량 처리하는데는 이노디비 기본 처리는 아이샘

 

적는데 참고된 사이트

http://blog.naver.com/dudn04?Redirect=Log&logNo=10036594849

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,
반응형

개인서버를 운영하는데, 오라클은 유로라서 혹시 모를 상황에 대비해 MariaDB로 변경했다. 그 과정을 여기에 나열하겠다. MariaDB에 오라클과 동일하게 테이블을 생성할 수 있는 방법이며 not null, pk 지정은 따로 해주셔야합니다.

 

http://www.sqlines.com/oracle-to-mysql (좌) /  http://www.sqlines.com/online (우)

왼쪽의 사이트를 들어가면, sqlLines의 메인페이지를 볼 수 있다. 데스크탑 버전과 온라인 버전이 있다고 하는데, 간편하게 온라인 버전을 사용하겠습니다. 오른쪽의 링크를 클릭하면 바로 들어갈 수 있습니다.

 

온라인 버전을 들어오면 왼쪽이 변환전 오른쪽이 변환후 언어입니다. 왼쪽은 Sources를 Oracle로 지정, 오른쪽 Target을 MariaDB로 설정합니다.

 

오라클 테이블 및 데이터 익스포트 하는 방법

 

 

왼쪽에 sql파일 내용을 넣고, convert버튼을 눌러 변환합니다. 이를 이용하여 Maria DB에 옮길 수 있습니다. 변환 시에 누락사항이 있어 직접 수정한 부분이 있었는데 그 점에 대해 안내드립니다.

 


SQL문 수정사항

날짜 Default값 수정

날짜의 Default값을 지정할 때, 오라클은 systimestamp를 사용합니다. MariaDB에서는 CURRENT_TIMESTAMP를 사용하므로 테이블 생성 SQL문에서 모두 바꿔주어야 합니다.

<ORACLE>
CREATE TABLE "LOGGER" ("LOG" VARCHAR2(1000), "TIME" VARCHAR2(30) DEFAULT SYSDATE)
<MariaDB>
CREATE TABLE "LOGGER" ("LOG" VARCHAR2(1000), "TIME" VARCHAR2(30) DEFAULT CURRENT_TIMESTAMP)

 

날짜 입력 형식 수정

오라클에 systimestamp로 저장하게 되면 '19/11/20 13:56:04'와 같은 형태로 저장됩니다. 오라클에서는 이러한 날짜 형식을 'RR/MM/DD HH24:MI:SS'로 표현하지만, MariaDB에서는 '%y/%m/%d %H:%i:%s'와 같이 표현됩니다. 따라서 이러한 형태로 들어가는 데이터들을 모두 바꿔주어야 합니다.

<ORACLE>
Insert into MEMBER (ID,PW,DATE_REGISTER,NICKNAME)
	values ('asdf','1234',to_date('19/11/20 13:56:04','RR/MM/DD HH24:MI:SS'),'asdf');

 

<MariaDB>
Insert into MEMBER (ID,PW,DATE_REGISTER,NICKNAME)
	values ('asdf','1234',str_to_date('19/11/20 13:56:04','%y/%m/%d %H:%i:%s'),'asdf');

 


 

SQL 변경 후 새로운 쿼리 파일을 생성해줍니다.

생성된 파일에 변환된 SQL문을 옮겨주고, 원하는 부분을 선택 한 뒤 SQL문을 실행해 줍니다. 잘 적용이 되는지 확인하면서 SQL문을 실행해주면 됩니다.

SQL문이 모두 정상적으로 실행되었다면, 기존 DB에서 NM조건과 PK를 참고하시어 테이블 설정을 해주시면 됩니다.

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,
반응형

@ 설명

 

## LOOP 문

 

DELIMITER $$ -- 프로시저 생성 시작을 알림

DROP PROCEDURE IF EXISTS loop_test $$ -- 프로시저가 만들어져 있다면 삭제하고 다시 만듬

CREATE PROCEDURE loop_test(IN var INT) -- 파라미터 설정, IN/OUt, 변수이름 var, 타입 INT

BEGIN

    DECLARE nCnt INT DEFAULT 0; -- 변수선언

    DECLARE nTot INT DEFAULT 0; 

    loop_xxxx:LOOP -- LOOP 선언, 루프이름 주어짐

       IF (var <= nCnt) THEN -- IF 문 사용

          LEAVE loop_xxxx; -- loop 탈출 조건 (탈출 조건을 사용하기 위해서는 루프의 이름이 지정되어야 함.) 

       END IF;  

       SET nCnt = nCnt + 1; -- 변수 변경

       SET nTot = nTot + nCnt; 

    END LOOP;

 

    SELECT CONCAT(CONCAT(CONCAT('1 부터 ', var), ' 까지의 합은 '), nTot) AS total; -- 결과 값 출력

 

END $$

DELIMITER ;-- 프로시저 생성 종료를 알림

 

#########################

 

Call loo_test(10); -- 프로시저 실행

 

 

참고)

-. CONCAT 함수

   인자들 str 를 연결시켜 하나의 결과물로 결합 반환하고, 인자 중에 하나 이상의 NULL 값을 가지면 NULL를 반환합니다.

-. IF 사용법

IF condition1 THEN

   {...statements to execute when condition1 is TRUE...}

 

[ ELSEIF condition2 THEN

   {...statements to execute when condition2 is TRUE...} ]

 

[ ELSE

   {...statements to execute when both condition1 and condition2 are FALSE...} ]

 

END IF;

 

 

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,
반응형

1. 스케쥴 등록

 

SET GLOBAL event_scheduler = on;

SET @@global.event_scheduler = on;

SET GLOBAL event_scheduler = 1;

SET @@global.event_scheduler = 1;

 

또는 

 

my.cnf or my.ini 에 옵션(event_scheduler=On)을 추가하고 mysql 을 시작한다.

 

 

 

CREATE EVENT [이벤트명]

ON SCHEDULE [스케쥴 시간]

STARTS [시작시간] /* 선택 */

ENDS [종료시간] /* 선택*/

DO

[수행할 쿼리]

 

ex)

SET GLOBAL event_scheduler = on;

SET @@global.event_scheduler = on;

SET GLOBAL event_scheduler = 1;

SET @@global.event_scheduler = 1;

 

CREATE EVENT e_doc_stat

ON SCHEDULE 

EVERY 1 day

#   STARTS CURRENT_TIMESTAMP /* 선택 */

# STARTS NOW() /* 선택 */

STARTS '2017-12-19 01:00:00'

DO

CALL hive_global.PROC_DOC_STAT(DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY), '%Y-%m-%d'));

 

* STARTS CURRENT_TIMESTAMP + INTERVAL 1 MINUTE     와 같은 형태로도 사용 가능

 

 

2. 등록된 스케쥴 확인

show events;

 

 

3. 스케쥴 삭제

delete from mysql.event where name='e_doc_stat';

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,