2016-12-28 3 views
-1

ドライバをBLOBに格納するために構築したPHPアプリケーションがあります。しかし、先日、電源が切れ、MySQLデータベースがロードされないように、MySQLサーバを削除して再インストールする必要がありました(ただし、/ var/lib/mysqlのすべてのデータベースを保存しました)。 LOAD_FILEを使用してこれらのドライバ・ファイルをBLOBにロードすると、停電前に動作するため、この背景を説明します。変更されたMySQLの再インストール以降。LOAD_FILEがNULLをBLOBにロードしています

私はこの同じ問題を抱えていたことを覚えています。それは3つのことと関係していました。まず、FILE Global Privilegeに、ファイルが実際のサーバー(それ)に存在する必要があり、AppArmorのMySQLプロファイルを無効にする必要があることを伝えなければなりませんでした。このUbuntu 14.04マシンにMySQLサーバを再インストールしたとき、私はMySQL AppArmorプロファイルを無効にしなければなりませんでした。私はさらに一歩進んでAppArmorを削除しました。なぜなら、私はそれに対処することにうんざりしていたからです。しかし、LOAD_FILEはまだBLOBにNULLをロードしています。私はここから試してみる必要があるのか​​分かりませんか?誰もがこれについての経験を持っていて、私が紛失しているものを再確認するのを手伝っていきたいですか?

+0

https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_load-file –

+0

。私はドキュメントに記載されたすべてを試しました。このPHPアプリケーションは明らかに 'www-data:www-data'によって所有されており、作成されるファイルは-rw-r-r--と同じ所有権を持ちます。これは以前は問題ではなかったし、権利を変更しても差が出ていないようだ。それは私が上のリンクから助けたかもしれないことを私が見る唯一のものです。 – user2643864

+0

http://stackoverflow.com/questions/41228496/slowness-found-when-base-64-image-select-and-encode-from-database/41235395#41235395 – e4c5

答えて

-1

これは、停電中に破損した以前のMySQLバージョン(mySQLバージョン5.5.53)の後にインストールした新しいバージョンの 'secure_file_priv'が '/ var/lib/mysql-files 'を指定すると、異なる場所からファイルをロードすることができなくなります。私はsecure_file_priv = ""を/etc/mysql/my.cnfの[mysqld]セクションに追加し、MySQLを再起動しました。

次のドキュメントでは、問題を段階的に指摘しています。あいまいなMySQLのドキュメントよりもはるかに優れています。私は上記のリンクが役立ちますわからない

http://pastebin.com/Dvsdxh9Y https://superuser.com/questions/1088512/how-to-disable-secure-file-priv-mysql-ubuntu

+0

「あいまい」ではありません。この要件は、 'LOAD_FILE'の記述の最初の段落で明確に説明されています。 –

関連する問題