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」が機能できません。
代替ソリューション
マニュアルでは、以下の例に示すように、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 中国語 Web サイトの他の関連記事を参照してください。