MySQL에다가 자료를 넣고 싶습니다..
글쓴이: 신호철 / 작성시간: 목, 2003/08/14 - 12:54오전
환경 : 리눅스9, C
MySQL를 공부한지 얼마 되지 않은 초보자입니다.
D/B에 있는 내용을 출력은 검색해서 출력은 할수 있을것 같은데, 입력부분을 잘 모르겠네요...
지금제가 할려는것은 Log를 디비에 입력하는부분인데..
insert into log values (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
이런식으로 데이타를 넣잖아요?
내가 원하는 데이터를 변수로 값을 받아서, 그걸 D/B의 각 칼럼에 값을 넣을려고 합니다..
예를 들자면, 이런식으로여
------------------------------------------- Date | Time | Name | Src_ip | Src_port | Dst_ip | Dst_port | Proto ------------------------------------------- 2003 |24:24 | Jolt |203.230,,|............................................................................ -------------------------------------------
이런식으루 넣을려고 합니다..
로그값을 ---> D/B에 넣을려면 어떠한 방법으로 넣어야 되죠?
각 변수에 로그값(날짜, 소스아이피포트등)을 넣어서 그걸 디비로 입력을 하
면되는건가요?
이것이라면, 어떻게 하는지.. 에궁..
고수님들 부타드립니다..!
Forums:
질문의 요지를 잘 모르겠습니다만... SQL만으로 로그를 DB에 집어넣는
질문의 요지를 잘 모르겠습니다만... SQL만으로 로그를 DB에 집어넣는 것이 가능하냐고 물으시는 것 같은데 SQL만으로는 불가능합니다.
로그를 집어 넣으려면 로그를 읽어야겠죠.
C나 뭘로든 로그를 읽고 변수에 집어넣은 후 MySQL API를 이용해 mysql로 집어넣어주어야 합니다.
MySQL C API에 대한 내용은 다음 링크의 끝부분에 있습니다.
http://www.mysql.com/doc/en/index.html
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
로그를 파싱해서 insert 구문을 만들어야 겠죠.. ㄴㅁ
ㄴㅁ
울랄라~ 호기심 천국~!!
http://www.ezdoum.com
[quote="eminency"]질문의 요지를 잘 모르겠습니다만... S
로그의 형태에 따라 다르겠지만 어떤 구분자로 나뉘어 있는 텍스트 파일의 경우 MySQL 자체만으로 임포트 가능합니다.
----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...
[quote="fender"][quote="eminency"]질문의 요지
MySql SQL 문 중에서 LOAD 를 사용하시면 됩니다. LOAD 는 읽을 수 있는 형식으로 된 텍스트 파일을 읽어서, 데이터베이스 테이블에 데이터를 삽입합니다.
예를 들면, /var/log/network.log 파일 내의 데이터들이 콤마로 필드들이 구분되어져 있는 경우, 이를 log 라는 이름의 테이블에 넣으려면 다음의 query 문을 실행하시면 됩니다.
LOAD DATA INFILE '/var/log/network.log' INTO TABLE log FIELDS TERMINATED BY ',';
위의 예에서는 필드 구분자로 콤마를, 그리고 레코드 구분자로 개행문자를 가정했지만, 이 외의 다양한 경우에 사용할 수 있는 옵션들이 있으니 reference를 참고하시기 바랍니다.
댓글 달기