Jak wyłączyć Secure-file-priv MySQL Ubuntu

17

Chłopaki Mam aplikację, która używa SELECT OUTFILE do użycia jako pamięć podręczna dla innej aplikacji, więc wysyła bezpośrednio do folderu / dev / shm / some /.

Ponieważ działa na serwerze w tle, nie mam problemu z wyłączeniem wszystkich zabezpieczeń mysql, opcja bezpieczny_plik_priva nie jest ustawiona w my.ini, ale jest domyślnie ustawiona przez wersję, jak wyłączyć zabezpieczenia tego folderu?

[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
Diogo Paim
źródło

Odpowiedzi:

29

Dokumentacja mysql dotycząca bezpiecznego_pliku_priva stwierdza, że ​​zmienna jest ustawiona na domyślną lokalizację systemu plików specyficzną dla platformy, aby była domyślnie bezpieczna.

To powiedziawszy, musisz jawnie ustawić zmienną na pusty ciąg w konfiguracji, aby wyłączyć tę funkcję bezpieczeństwa.

W przypadku Ubuntu edytuj plik /etc/mysql/mysql.conf.d/mysqld.cnfi dodaj na końcu następujący wiersz:

secure_file_priv=""

Następnie ponownie uruchom usługę.

antoinet
źródło
Dzięki!! W rzeczywistości dokonałem obejścia, używając tylko „/” zamiast ścieżki, zakładając, że każda ścieżka będzie w nim znajdować się.
Diogo Paim,
2

Dla mnie dodanie na końcu powyższego pliku nie działało.

Dodałem go do /etc/mysql/my.cnfpliku w sekcji [mysqld] i działało.

Możesz być w stanie utworzyć tę sekcję w powyższym pliku i to też działa, nie przetestowałem tego.

Po ponownym uruchomieniu serwera możesz wykonać test SHOW VARIABLES LIKE "secure_file_priv";pod warunkiem, że masz do tego uprawnienia.

7UpMan
źródło
3
To jest naprawdę komentarz, a nie odpowiedź na pierwotne pytanie. Zawsze możesz komentować własne posty, a gdy będziesz mieć odpowiednią reputację , będziesz mógł komentować każdy post . Proszę przeczytać Dlaczego potrzebuję 50 reputacji, aby móc komentować? Co mogę zamiast tego zrobić?
DavidPostill