2017-08-24 25 views
0

私はMySQLデータベースに.htmlファイルを保存しようとしています(MySQL Workbenchを使用しています)。現時点では、load_file('filepath')を実行しようとしています。そのため、.htmlファイルの内容を読み取って文字列に変換し、その文字列をDBのテーブルに格納します。しかし問題は、それが実際に動作しているかどうかを確認することができないので、常にnullを返すようです。MySQL Workbenchを使用してMySQLデータベースにファイルを保存する方法は?

私はload_fileが動作するための4つの基準があることを知っていますが、特権を与えるために実行する必要があるスクリプトはわかりません。私はファイルの内容を文字列に変換しようとしているので、DB全体に.htmlファイルを格納する方が効率的な別の方法があります。私のMySQLサーバはrootのユーザ名を持ち、Mac OS上で動作します。

+0

「権限を与えるために実行する必要のあるスクリプトを知りません」 - MySQL Workbenchに組み込まれている機能を使用してユーザのアクセスを許可する必要はありません。関数がnullを返した場合、関数は機能しませんでした。 Btw、データベースにファイルを保存することは必ずしも良い考えではありません。 – Shadow

+0

@ Shadowだから、ファイルをコンピュータのフォルダに残して、内容をDBテーブルの文字列にコピーさせる方が良いでしょうか?私は自分自身を作成し​​たJava Webサーバーを持っているので、MySQL DBに接続し、コンピュータのディレクトリを検索するWebサーバーではなく、そこからデータ/ファイルを取得したいと思います。私が望む方法が最も効率的かどうかは分かりません。 –

+0

あなたはここでさまざまな側面を混ぜているようです。この 'load_file'関数は何についてですか? MySQL WorkbenchやMySQLとは関係ありません。あなたの実際の問題は何ですか?より具体的に、これまでに試したことをお見せしてください。 –

答えて

0

load_file functionがいることを言う:

は、この機能を使用するには、ファイルはサーバホスト上にある必要があり、あなたは、ファイルのフルパス名を指定する必要があります。また、FILE権限を持っている必要があります。ファイルは、すべてが読み取り可能で、サイズがmax_allowed_pa​​cketバイト未満でなければなりません。 secure_file_privシステム変数が空でないディレクトリ名に設定されている場合、ロードするファイルはそのディレクトリになければなりません。

したがって、実際ににファイルをロードできるかどうかを確認する条件がいくつかあります。まず、あなたのユーザがFILE特権を持っていて、そのファイルがMySQLサーバからアクセス可能であるかどうかをチェックします。

関連する問題