皆さん、私は別のアプリケーションのキャッシュとして SELECT OUTFILE を使用するアプリケーションを持っています。そのため、/dev/shm/some/folder に直接出力します。
バックグラウンドサーバーで実行されるため、すべてのMySQLセキュリティを無効にしても問題ありません。オプション安全なファイルプライバシーmy.ini では設定されていませんが、バージョンによってデフォルトで設定されています。このフォルダーのセキュリティを無効にするにはどうすればよいでしょうか?
[MySQL Version]
/usr/sbin/mysqld Ver 5.7.12-0ubuntu1 for Linux on x86_64 ((Ubuntu))
[Ubuntu Version]
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
答え1
MySQLのドキュメント安全なファイルプライバシー変数がデフォルトのプラットフォーム固有のファイルシステムの場所に設定されていることを示します。これにより、デフォルトで安全になります。
ただし、このセキュリティ機能を無効にするには、構成で変数を明示的に空の文字列に設定する必要があります。
Ubuntu の場合は、ファイルを編集して/etc/mysql/mysql.conf.d/mysqld.cnf
最後に次の行を追加します。
secure_file_priv=""
その後、必ずサービスを再起動してください。
答え2
私の場合、上記のファイルの末尾に追加しても機能しませんでした。
/etc/mysql/my.cnf
[mysqld] セクションのファイルに追加したら動作しました。
上記のファイルにそのセクションを作成して動作させることもできますが、テストは行っていません。
サーバーを再起動した後、SHOW VARIABLES LIKE "secure_file_priv";
権限があればテストできます。