![MYSQL에서 CSV로 내보내기](https://linux55.com/image/58846/MYSQL%EC%97%90%EC%84%9C%20CSV%EB%A1%9C%20%EB%82%B4%EB%B3%B4%EB%82%B4%EA%B8%B0.png)
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에서 열 수 있습니다.