首頁  >  文章  >  資料庫  >  為什麼 MySQL 不提供「SELECT * INTO OUTFILE LOCAL」等效項?

為什麼 MySQL 不提供「SELECT * INTO OUTFILE LOCAL」等效項?

Susan Sarandon
Susan Sarandon原創
2024-10-26 07:38:30310瀏覽

 Why Doesn't MySQL Offer a

MySQL:探索 SELECT * INTO OUTFILE LOCAL 難題

遷移資料庫可能會帶來意想不到的挑戰,因為某些功能可能不再如預期運作。對於 MySQL,曾經用於將資料匯出到文字檔案的 SELECT * INTO OUTFILE 語句由於安全原因不再起作用。

但是,可以將 LOAD DATA INFILE 語句修改為 LOAD DATA LOCAL INFILE,允許從本機檔案匯入資料。這就引出了一個問題:為什麼沒有等價的 SELECT INTO OUTFILE LOCAL?

根據 MySQL 手冊,SELECT * INTO OUTFILE 主要用於在伺服器上快速產生文字檔案。但是,出於安全考慮,不允許在遠端客戶端上建立文件。

作為替代方案,可以使用以下命令在客戶端主機上產生檔案:

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

關於 MariaDB ,它似乎沒有提供此問題的直接解決方案。但是,它為資料傳輸提供了額外的安全功能,例如限制特定使用者或 IP 位址的檔案存取的能力。

以上是為什麼 MySQL 不提供「SELECT * INTO OUTFILE LOCAL」等效項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn