>데이터 베이스 >MySQL 튜토리얼 >MySQL에 \'SELECT * INTO OUTFILE LOCAL\'이 누락된 이유는 무엇이며, 동일한 결과를 얻으려면 어떻게 해야 합니까?

MySQL에 \'SELECT * INTO OUTFILE LOCAL\'이 누락된 이유는 무엇이며, 동일한 결과를 얻으려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-26 08:00:03732검색

Why is

MySQL - SELECT * INTO OUTFILE LOCAL?

최근 서버 마이그레이션에서 데이터베이스가 다른 서버로 이동하여 이전 오류가 발생했습니다. "SELECT * INTO OUTFILE ..." 명령이 실패합니다. "LOAD DATA INFILE ..." 기능은 계속 작동하지만 해당 "SELECT INTO OUTFILE LOCAL" 옵션이 없어 사용자를 당황하게 했습니다.

"SELECT INTO OUTFILE LOCAL" 부족에 대한 설명

서버의 로컬 파일에서 읽는 "LOAD DATA INFILE"과 달리 "SELECT INTO OUTFILE"은 서버 자체에 텍스트 파일을 생성하기 위한 것입니다. 보안 문제로 인해 외부 클라이언트에서 파일을 생성하는 기능이 제한되어 "SELECT INTO OUTFILE LOCAL"이 작동하지 않습니다.

대체 솔루션

manual에서는 아래 예에서 볼 수 있듯이 클라이언트 호스트에서 파일을 생성하기 위해 리디렉션과 함께 mysql을 사용할 것을 권장합니다.

mysql -h my.db.com -u usrname--password=pass db_name -e 'SELECT foo FROM bar' > /tmp/myfile.txt

MariaDB의 기능

기사에서는 MariaDB를 명시적으로 언급하지 않습니다. 이 문제는 MySQL의 동작과 관련이 있으며 MariaDB의 기능에 직접적인 영향을 미치지 않습니다.

위 내용은 MySQL에 \'SELECT * INTO OUTFILE LOCAL\'이 누락된 이유는 무엇이며, 동일한 결과를 얻으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.