Megoldás – A MySQL szerver a – secure-file-priv opcióval fut, így nem tudja végrehajtani ezt az utasítást

A MySQL8.0.18 futtatásakor Mac OS X 10.14.6 Mojave rendszeren megpróbáltam végrehajtani ezt a parancsot:

Ezután belefutottam ebbe a hibába:

Amikor ezt futottam:

Ezt kaptam:

Tehát arra gondoltam, hogy csak meg kell változtatnom a secure_file_priv fájlhoz rendelt értéket, ezt tettem:

Akkor megkaptam ezt:

Ez eltartott egy ideig, hogy megtudja, hogyan lehet megváltoztatni a secure_file_priv fájlt, de én ezt tettem. Ezt a változót a kiszolgálóhoz állíthatja be a ~ / .my.cnf

fájl segítségével

Lépjen a Terminálhoz, majd:

Ezután írja be ezt (másolás és beillesztés¹2)

Megváltoztathatja a g e könyvtárat olyan könyvtárnak, amelybe a MySQL-t fájlokba akarja írni.

Nyomja meg az esc gombot a Szerkesztő módból való kilépéshez, majd a : , majd a wq billentyűkombinációt a mentéshez és a vi bezárásához.

Most lépjen ki a mysql kliensből, és indítsa újra a MySQL szervert

Amikor visszalép a mysql kliensébe, a mysql & gt; MUTASD A VÁLTOZÓKAT, MINT A „biztonságos_fájl_priv”;

Miután megpróbálta a mysql & gt; SELECT … INTO OUTFILE fájlba; ennek új fájlt kell írnia3.

[1] Ha nem helyezi a [mysqld] fájlt a .my.cnf fájlba, előfordulhat, hogy ezt kapja:

[2] Megpróbáltam ezt feltenni:

Ezután kiléptem a mysql kliensből, újraindítottam a mysql szervert, majd újraindítottam az ügyfelet. Amikor azt csináltam MUTASD A VÁLTOZÓKAT, MELYEK „biztonságos_fájl_priv”; akkor is NULL .

volt látható

Megtaláltam ezt a cikket: https://geodatawrangler.lazym8.com/blog/2017/02/16/secure-file-priv

ami azt mutatta, hogy van némi távolság a változó és a kifejezés között. Miután csak másolt és beillesztett, sikerült.

[3] Ez a probléma akkor merülhet fel, amikor megpróbálja mysql & gt; KIVÁLASZTÁS… OUTFILE fájlba

Csak meg kell változtatnia annak a könyvtárnak az engedélyét, ahová a MySQL-t szeretné fájlokat írni a Terminal segítségével: