伙计们,我有一个应用程序使用 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";
如果您有权限,则可以进行测试。