データベースの移行では、一部の機能が期待どおりに機能しなくなる可能性があるため、予期せぬ課題が発生する可能性があります。 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 サイトの他の関連記事を参照してください。