Riješeno: učitavanje lokalnih podataka je onemogućeno

Posljednje ažuriranje: 09/14/2023

Naravno, evo početka članka. Imajte na umu da ćete morati dodati određeni kod na mjesta koja sam označio.

Za administratore baza podataka i programere, rad sa SQL-om nije uvijek šetnja u parku. Posebno je izazovno kada želite da učitate lokalne podatke, ali otkrijete da je ova funkcija onemogućena.

Kao stručnjaci u ovoj oblasti, potpuno razumijemo problem i došli smo do rješenja koje će vam pomoći da pređete ovu prepreku. Ovaj problem se obično pojavljuje jer, iz sigurnosnih razloga, MySQL podrazumevano onemogućava opciju local-infile. Međutim, nemojte se zaprepastiti, jer postoje načini da omogućite ovu funkciju.

Na primjer, MySQL klijent komandne linije može početi sa –local-infile[=value] da bi eksplicitno omogućio ili onemogućio local_infile sistemsku varijablu u MySQL Serveru.

Varijabla local-infile omogućava korisniku da čita datoteke koje se nalaze na serveru koristeći naredbu LOAD DATA INFILE.

MySQL – opcija pokretanja lokalne datoteke

Jedan od načina učitavanja lokalnih podataka u MySQL je korištenje opcije pokretanja –local-infile. Ova opcija se može postaviti na 0, 1 ili na praznu vrijednost.

--local-infile[=value] 

U kodu iznad, zamijenite “vrijednost” sa 0 da biste onemogućili LOKALNO za LOAD DATA INFILE, 1 da biste ga omogućili ili ostavite prazno da ne postavite vrijednost eksplicitno pri pokretanju, što ostavlja vrijednost prevedenu na server.

Izjava LOAD DATA INFILE

Naredba LOAD DATA INFILE čita redove iz tekstualne datoteke u tablicu vrlo velikom brzinom. Pokazuje se vrlo korisnim kada morate popuniti tabelu s velikim brojem redova. Pogledajmo kako to funkcionira u praksi.

LOAD DATA INFILE 'path/to/your/file.csv'
INTO TABLE your_table_name
FIELDS TERMINATED BY ',';

U gornjem primjeru koda zamijenite 'path/to/your/file.csv' putanjom do stvarne .csv datoteke koju želite učitati i 'your_table_name' imenom vaše tablice. Također, ako su vaše vrijednosti podataka odvojene drugim znakom (umjesto zarezom), promijenite ',' u taj znak.

Gore navedeni proces bi trebao riješiti vaš izazov i vratiti vas u akciju. Učitavanje lokalnih podataka nije tako naporno kao što se u početku čini, sve dok znate kako to učiniti i imate na umu sigurnosne implikacije.

U zaključku, manevar za omogućavanje učitavanja lokalnih podataka uključuje inicijalizaciju varijable local-infile pomoću MySQL klijenta komandne linije ili korištenjem mysql datoteke opcija (.my.cnf ili my.ini itd.). Također, ključno je shvatiti da omogućavanje učitavanja lokalnih podataka može predstavljati sigurnosni rizik, posebno u okruženjima dijeljenog hostinga. Stoga ga treba omogućiti samo kada je potrebno i onemogućiti kada se zahtjev završi.

Slični postovi: