집 >데이터 베이스 >MySQL 튜토리얼 >mysq 학습: SQL 쿼리 결과를 명령어를 통해 특정 파일로 내보내기
소개
최근 온라인 데이터를 수정할 때 수정된 데이터를 지금 백업해야 합니다. 단, 온라인 고객의 서버는 직접 연결할 수 없고, 요새 머신을 통해서는 시각화를 전달할 수 없다는 의미입니다. mysql에 연결되어 있으므로 모든 작업은 sql 문을 거쳐야 합니다. 내보낸 sql을 살펴보겠습니다.
mysql> select count(1) from table into outfile '/tmp/test.xls';
쿼리 결과 바로 뒤에 outfile 'path'를 추가하지만 처음에는 나중에 추가한 경로입니다. 는 /tmp가 아니라 /data입니다. 이를 실행하면 다음 오류가 발생합니다:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement이는 mysql에서 설정한 권한 때문입니다.
show variables like '%secure%';내보낸 데이터는 내보내기 전에 이 값의 지정된 경로여야 합니다. 기본값은 NULL일 수 있으며 이는 내보내기가 금지됨을 의미하므로 /etc/mysql에서 설정해야 합니다. /mysql.conf.d/mysqld.cnf 파일 마지막에 설정하고 secure_file_priv="/"를 추가하여 데이터를 임의의 디렉터리로 내보냅니다. secure_file_priv 1. 내보내기를 허용하지 않도록 mysqld를 제한합니다.
secure_file_prive=null
2. mysqld 가져오기 제한 | 내보내기는 /tmp/ 디렉터리에서만 가능합니다.
secure_file_priv=/tmp/
3. mysqld 가져오기 | 내보내기에는 제한이 없습니다
4. 가능 모든 디렉터리로 내보낼 수 있습니다
secure_file_priv="/"
이를 설정한 후 일부 맞춤형 내보내기를 구현할 수 있습니다!
관련 기사:
MySQL 쿼리 결과를 파일로 내보내는 대체 방법명령줄을 통해 sql 파일을 mysql로 가져오는 방법
SQL 입문 튜토리얼 매뉴얼위 내용은 mysq 학습: SQL 쿼리 결과를 명령어를 통해 특정 파일로 내보내기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!