MYSQL에서 CSV로 내보내기

MYSQL에서 CSV로 내보내기

Centos 7의 mariadb에서 MYSQL을 CSV로 내보내는 방법은 무엇입니까?

나는 다음을 사용하고 있습니다 :

Server version      5.5.37-MariaDB
Protocol version    10
Connection          Localhost via UNIX socket
UNIX socket         /var/lib/mysql/mysql.sock

CentOS Linux 버전 7.0.1406(코어)

나는 다음을 시도했다:

    mysql> SELECT *
        -> INTO OUTFILE 'cd /var/foo.csv'
        -> FIELDS TERMINATED BY ','
        -> ENCLOSED BY '"'
        -> ESCAPED BY '\\'
        -> LINES TERMINATED BY '\r\n'
        -> FROM foo;
    Query OK, 4079 ROWS affected (0.02 sec)

foo가 데이터베이스 이름인가요? 하지만 구문 오류가 발생합니다. 특정 테이블을 선택할 필요가 없나요?

그런 다음 이것을 시도했습니다.

mysql -u root -p enterpass nameofdb -B -e “select * from \`person\`;” | sed     ‘s/\t/”,”/g;s/^/”/;s/$/”/;s/\n//g’ > nameofdb.csv

구문 오류도 마찬가지입니다.

저는 하나의 데이터베이스 스토리지를 다른 데이터베이스 스토리지로 수동으로 마이그레이션할 수 있는지 알아보기 위해 이것을 연습하고 있습니다. cart2cart와 같은 유료 제품을 사용하지 않고도 Zen 카트 데이터베이스를 오픈 카트 데이터베이스로 전환하여 주로 매장 내부를 볼 수 있어 더 잘 이해할 수 있습니다.

답변1

아무도 대답하지 않았기 때문에 그렇게 하겠지만 공정하게 말하면 Archemar는 나보다 먼저 이 문제를 해결했습니다. 테이블을 선택해야 한다는 것을 알고 있지만 구문이 확실하지 않으며 Apache 폴더가 소유하는지 확인하는 것을 고려하지 않았습니다.

mysql 데이터베이스 테이블을 CSV 파일로 내보내려면 admin에 로그인하고 다음 명령을 사용하십시오.

SELECT *
INTO OUTFILE '/tmp/products.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM products;

그런 다음 "systemd-private-SjP6B1"과 같은 세 개의 파일을 남겼습니다. 그 중 하나는 tmp 폴더를 포함하고 products.csv에 있습니다.

products.csv가 있는 경우 Google Docs 또는 Excel에서 열 수 있습니다.

관련 정보