ホームページ  >  記事  >  データベース  >  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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。