원격 서버에 있는 데이터베이스에 들어있는 데이터를 추출하여,

 

개인 pc에서 테스트를 하고 싶었다. 그래서, 일단 빼는 방법을 찾게 되었다.

 

mysql에서 데이터 뽑기

 

.cvs 파일로 뽑으면 된다. 다만, 구분자는 쉼표(,)로 하면 오류가 발생한다.

 

왜냐하면 게시판 데이터이기 때문에, 에디터 코드가 들어가 있거나, 장문의 글들이 있기 때문에

 

쉼표는 데이터를 구분해줄 수 없기 때문이다. 따라서 탭으로 구분하는 것이 좋다

 

이 것은 ','로 끊으라는 것인데, 이렇게하면 원하지 않는 결과가 나온다.

 

이렇게 하면, 탭으로 구분하라는 것이다. 이렇게 하면

 

쿼리 오케이 하면? 성공이다!

위치는 /tmp/mydaya.csv로 해놨으니 찾아가보면 엑셀 모양으로 저장이 되어있는 것을 볼 수 있다.

 

이것을 가져오는데... 문제가 발생한다.

 

한글이 깨진 것이다.

 

메모장에서 열면? 잘 나온다... 그렇다면 굳이 .csv 확장자를 할 필요가 없었다.   .txt로 

텍스트 파일로 받아도 괜찮다. 한글도 안 깨지고...아래와 같이 하는게 더 시간 단축이 될 것이다. 

 

mysql에서 데이터 넣기

1. phpmyadmin

2. 터미널에서 텍스트로 LOAD FILE

3. Mysql workbench

 

등으로 할 수 있는데,

 

phpmyadmin으로 했다.

 

<-- 가져오기 -- 파일선택 -- utf-8 -- 형식 : CSV --> 

 

열(컬럼) 구분자를 \t로 맞춰줘야한다.

 

 

 

Posted by sungho88
,

Apache 설치, PHP 설치, Mysql을 설치를 다 했는데,


phpmyadmin을 설치 후 접속하니 Not Found 에러가 발생한다.


페이지를 찾을 수 없다는 이 에러... 어떻게 해야할까?


아파치에서 phpmyadmin을 인식을 못하는것이기 때문에


nano /etc/apache2/apache2.conf 


입력해서 설정 파일을 열고. phpmyadmin을 포함시켜줘야 한다.


맨 아래로 이동하여 


Include /etc/phpmyadmin/apache.conf


을 추가해주면 된다.


물론. phpmyadmin이 저 경로에 설치되어 있어야한다(기본 경로이므로 왠만하면 설치되어 있을 것)


확인하고 싶다면, 


whereis phpmyadmin


을 터미널에 입력한다면 설치 경로를 확인할 수 있다.

Posted by sungho88
,

홈페이지를 리뉴얼하면서 게시판에 있는 게시물들을 다른 사이트로 옮기고 싶었다.

어떻게 해야할지 막막했지만, 엑셀 파일을 이용하면 간편하게 할 수 있다는 것을 알게되었다.

찾아본 결과 파일명.csv 형식의 파일로 만들면 집어넣을 수 있다고 한다. 

SCV도 아니고 CSV는 무슨 약자일까?


CSV = Comma Separated values

즉, 몇 가지 데이터 필드를 쉼표로 구분한 텍스트 데이터 및 텍스트 파일이다.


1. 일단 엑셀을 실행시키고, 데이터베이스에 삽입할 데이터를 작성한다.

(DB에 생성된 컬럼들을 맞춰주자)


2. 작성한 뒤, 다른이름으로 저장 -> 파일형식 -> CSV(쉼표로 분리)를 선택한 후 저장한다.


mysql에 접속한 뒤, DB를 선택하고 다음과 같은 문장을 써서 입력했다고 한다.


LOAD DATA INFILE '파일위치/파일명.csv' INTO TABLE 테이블명 FIELDS TERMINATED BY ',';


이렇게하면 다른사람들은 되는데 에러가 발생한다.


--secure-file-priv 옵션이 무엇인가? 


으... 오전 내내 이것때문에 진행을 못해서 점심먹고 오후부터는 다른 방법을 쓰기로 했다.


바로 phpmyadmin.


여기서 import를 사용해서 .csv파일을 넣을 수 있다고 한다.

해봤다.


이런!! 또다시 같은 에러가 발생한다.

검색하다보니 LOCAL을 써줘야 잘 작동한다고 한다.


1. 업로드 파일에서 -> 올리고자 하는 csv파일을 선택하고,

2. 파일 문자셋은 무난한 -> UTF-8

3. 형식은 -> CSV가 아닌 CSV using LOAD DATA

4. 열(컬럼) 구분자 -> ,

5. 열 감싸기 -> "

6. LOCAL 키워드 사용 에 체크!


이렇게 한 뒤 실행을 눌렀다. 그랬더니. 


에러 메세지가 바뀌었다. 오 뭔가 값을 읽는 느낌이 생겼다. 좋다.

UTF-8 설정했지만, 엑셀쪽이 UTF-8이 아닐 경우 이런 문제가 발생한다.

엑셀에서 문자 인코딩을 변경해주거나 아니면 txt 파일로 편집을 누른뒤에 메모장에서 인코딩을 바꿔도 된다.

어떻게하던지 인코딩만 바꿔주면된다.

자. 다시 도전 



오호라. 해결~ 빨간색보다 훨씬 기분이 좋은 녹색~

Posted by sungho88
,