Ako exportovať údaje do mysql. Vypíšeme databázu MySQL a exportujeme údaje do konzoly. Importovanie SQL súborov do MySQL databáz pomocou phpMyAdmin

Často sa ma pýtajú, ako importovať veľkú databázu na server údaje MySQL. Je známe, že phpMyAdmin má štandardne obmedzenia na veľkosť importovanej databázy.

Ak váš výpis nie je oveľa väčší ako prijateľný limit, môžete ho rozdeliť na niekoľko častí a importovať v niekoľkých prechodoch. Je to opodstatnené, ak je napríklad limit 2 MB a vaša databáza má veľkosť 5 – 10 MB. Je jasné, že „rozrezanie“ 100 MB databázy na 50 častí je dosť prácny a časovo náročný proces.

Existuje niekoľko možností riešenia tohto problému.

Úprava konfigurácie webového servera

Na VDS/VPS s tým nie sú žiadne zvláštne problémy, stačí len opraviť konfiguráciu. Konkrétne v php.ini zvýšte povolené maximálne hodnoty pre súbory nahrané na server, maximálna veľkosť pre súbory prenesené metódou POST:

Post_max_size = 2 000 miliónov upload_max_filesize = 2 000 miliónov

Okrem toho, ak je vaša databáza veľmi veľká, mali by ste zvýšiť maximálny povolený čas vykonávania skriptu.

Max_execution_time = 32 000 max_input_time = 32 000

A pre každý prípad môžete zvýšiť veľkosť povoleného množstva pamäte RAM:

Pamäťový limit = 512 miliónov

Po vykonaní zmien nezabudnite reštartovať webový server.

Je jasné, že tento spôsob nie je vhodný pre virtuálny hosting, pretože... neznamená to možnosť upravovať konfigurácie.

Sklápač Sypex

Môžeš použiť softvér tretích strán. A prvá aplikácia, ktorá stojí za pozornosť, je Sypex Dumper.

Keďže som ho prvýkrát použil pred mnohými rokmi a oceňujem všetky jeho schopnosti a prednosti, môžem ho pokojne označiť ako „Must Have“. Sypex sklápač - serverová aplikácia v PHP, ktorý nevyžaduje inštaláciu. Stačí si ho skopírovať napríklad do rootu vašej stránky v adresári sxd a v prehliadači zavolať: http://Your_Site/sxd/. Stojí za zmienku, že najprv by ste mali umiestniť výpis databázy do záložného adresára. Po inicializácii skriptu sa vám zobrazí autorizačný panel na pripojenie k databáze. Zadajte svoje používateľské meno a heslo. Hostiteľ a port sú voliteľné, iba ak sú špecifické.

Po autorizácii môžete prejsť priamo k importu databázy. V teréne "databáza" vyberie sa databáza, ku ktorej ste pripojení, a v poli "Súbor" uvidíte výpis, ktorý ste predtým nahrali do adresára Backup.

Vo väčšine prípadov žiadny dodatočné nastavenia už nie sú potrebné a import môžete bezpečne spustiť kliknutím na tlačidlo „Spustiť“. Import môže v závislosti od veľkosti databázy a rýchlosti vášho internetového pripojenia chvíľu trvať. Počas importu môžete vidieť, do ktorých tabuliek sa importuje tento moment do databázy. Po dokončení skriptu sa zobrazí protokol vykonania. Vyzerá to asi takto:

To je vlastne všetko – databáza je importovaná!

Konzola

O importe cez konzolu neuvažujeme. Myslím, že ľudia, ktorí používajú konzolu bezo mňa, vedia importovať akúkoľvek databázu. A bežných používateľov Je lepšie tam nechodiť bez špeciálneho tréningu. Pretože vykonávanie niektorých príkazov môže viesť k vážnym následkom, vrátane úplného zlyhania servera.

Konečne

Neodvažujem sa tvrdiť, že Sydex Dumper je jediné a správne riešenie. Existujú aj iné elegantnejšie metódy, ktoré vyžadujú, aby mal používateľ určité znalosti a vhodný prístup k nastaveniam servera.

Ale v prostredí zdieľaného hostingu bude Sydex Dumper určite vaším nepostrádateľným pomocníkom.

Prihláste sa na odber môjho telegramu a buďte prvý, kto dostane nové materiály, vrátane tých, ktoré nie sú na stránke.

Táto lekcia zahŕňa dôležité otázky, ako napr export databázy A import databázy MySQL. Môžete sa opýtať, prečo vôbec exportovať databázy? Spravidla sa to robí za účelom zálohovania databázy, aby bola vždy po ruke, ako sa hovorí, pre každý prípad. Koniec koncov, nikto nie je imúnny voči okolnostiam vyššej moci, ako sú nehody pri hosťovaní, ktoré môžu viesť k strate údajov. Ďalším príkladom môže byť útok hackerov, ktorí chcú poškodiť vašu stránku. V skutočnosti môže byť takýchto príkladov veľa.

Import databázy sa používa, keď potrebujete „znovu nahrať“ databázu na váš aktuálny hosting, alebo pri prechode na iný hosting. Toto v praxi často robia aj webmasteri.

Na vlastnú päsť export databázy A import databázy- úlohy sú jednoduché. Stojí za to vykonať tieto akcie raz, aby ste si zapamätali algoritmus ich implementácie po zvyšok svojho života. Pozrime sa na príkladoch, ako sa to všetko robí.

Ak chcete exportovať databázu, musíte prejsť na panel správcu hostiteľa a potom prejsť do sekcie databázy - Databázy MySQL.

Vyberte databázu, ktorú chceme exportovať (prejdite na phpMyAdmin). IN v tomto príklade databáza sa nazýva "cl209038".

1) V prvom prípade zvoľte „Fast“, ponechajte formát SQL a stlačte tlačidlo „OK“. V dôsledku toho sa do nášho počítača stiahne kópia databázy.

2) V druhom prípade zvoľte „Normal“. Zobrazí sa stránka s nastaveniami exportu databázy. Vyberte všetky tabuľky, vyberte úroveň kódovania a kompresie, ako je uvedené nižšie. Zvyšok spravidla nie je potrebné meniť. Kliknite na tlačidlo „OK“ a databáza sa exportuje do nášho počítača.

To je všetko, ako vidíte, export databázy MySQL nie je náročná úloha.

Ak chcete importovať databázu, musíte tiež prejsť na panel správcu hostiteľa a prejsť do sekcie s databázami MySQL. Tu sú dve možnosti – buď je potrebné vytvoriť novú databázu, alebo exportovať do existujúcej.

Vytvorenie databázy bude potrebné napríklad vtedy, ak budeme stránku presúvať na iný hosting. Ak máme stále rovnaký hosting a databáza už bola vytvorená, tak túto databázu jednoducho vyberiete a dáta do nej „znovu nahráte“. Môžete ho samozrejme vymazať, potom vytvoriť nový (prázdny) a nahrať doň.

1) Databáza už existuje. Vyberieme databázu, do ktorej importujeme našu kópiu databázy. Zobrazí sa ponuka importu databázy.

Vyberte súbor kópie databázy, ktorý chcete importovať. V prípade potreby môžete zmeniť kódovanie a formát databázy. Ďalej kliknite na tlačidlo „OK“. Po importe nás systém informuje, či všetko prebehlo správne alebo či sa počas procesu vyskytli nejaké chyby. Ak sa vyskytnú chyby, môžete skúsiť vymazať databázu na hostingu, potom vytvoriť prázdnu databázu a znova ju importovať.

2) Vytvorenie novej databázy. Prejdite na panel administrátora hostingu a vyberte sekciu s databázami MySQL. Dostávame sa do správy databázy MySQL.

Zadajte požadovaný názov databázy a heslo. Kliknite na tlačidlo „Vytvoriť“. V dôsledku toho by sa mala vytvoriť nová (prázdna) databáza - do nej budeme musieť importovať predtým uloženú kópiu našej databázy.

To je všetko, čo som vám chcel povedať o exporte a importe databáz MySQL. Ak máte nejaké problémy s týmito otázkami, napíšte komentáre k tejto lekcii.

V tomto článku zvážime dve otázky - ako môžete importovať databázy a ako vyriešiť problém s importovaním veľkých databáz zmenou nastavení v php.ini.

Ako viete, zálohovanie údajov je zárukou, že budete môcť obnoviť svoju webovú stránku, ak sa náhle z nejakého dôvodu preruší prevádzka lokality. Ako obnoviť webovú stránku zo zálohy? Existuje niekoľko spôsobov, my sa pozrieme na to, ako môžete importovať databázu mysql do phpMyAdmin. Pred začatím procesu importu databázy musíte vymazať všetky tabuľky z databázy, do ktorej chcete importovať súbory.

Ak chcete odstrániť tabuľky, prihláste sa domovskej stránke phpMyAdmin a postupujte takto:


2 - kliknite na Označiť všetko;
3 - z rozbaľovacej ponuky vyberte možnosť Odstrániť a kliknite na tlačidlo OK,

Teraz môžete začať importovať databázu mysql. Ak to chcete urobiť, postupujte takto:

1 - vyberte požadovanú databázu;
2 - otvorte kartu Importovať do horné menu;
3 - nájdite pomocou Prehľadávať záložná kópia s databázou a kliknite na tlačidlo OK.

Ak ste urobili všetko správne, v okne phpMyAdmin sa zobrazí hlásenie, že import bol úspešný.

Import veľkých databáz mysql

Webmasteri sa často stretávajú s problémom importu veľkých databáz mysql. Problém je spôsobený tým, že v PHPMyAdmin je sťahovanie výpisu databázy obmedzené veľkosťou nahrávaného súboru, ktorá by štandardne nemala presiahnuť 2 MB (2 048 KB). Pri pokuse o stiahnutie výpisu z veľkej databázy sa zobrazí chybové hlásenie: „Veľkosť sťahovaného súboru je pravdepodobne príliš veľká...“ atď.

Pozrime sa na jeden spôsob importovania výpisu z veľkej databázy. Limit veľkosti importovaného súboru je určený konfiguráciou PHP. Konfiguračné nastavenia PHP sú špecifikované v súbore php.ini. To znamená, že pre import veľkých databáz budeme musieť zmeniť maximálnu veľkosť nahrávaných súborov v konfiguračnom súbore php.ini.

Kde sa nachádza súbor php.ini? Cestu k súboru php.ini môžete vypočítať takto:

  • Vytvorte súbor info.php a umiestnite doň nasledujúci kód;
  • Nahrajte vytvorený súbor do koreňového priečinka lokality (www, public_html);
  • IN adresný riadok prehliadač, zadajte adresu http://vasa_stranka/info.php;
  • V okne, ktoré sa otvorí, nájdite Loaded Configuration File, kde bude uvedená cesta k súboru;

Ak chcete importovať veľkú databázu mysql, musíte zmeniť direktívy php.ini v PHPMyAdmin.

Súbor php.ini bol nájdený, teraz už zostáva len upraviť ho, alebo skôr zmeniť niekoľko smerníc v súbore, ako je uvedené nižšie:

Maximálny čas (s) na úplné načítanie skriptu:
max_execution_time = 60
Maximálny čas (v sekundách) určený pre skript na prijatie všetkých údajov:
max_input_time = 90
Maximálne množstvo pamäte, ktoré môže skript použiť:
memory_limit = 128 miliónov
Maximálna povolená veľkosť nahrávaných súborov:
upload_max_filesize = 200 miliónov
Maximálna veľkosť prenášaných údajov, ktorú PHP akceptuje:
post_max_size = 180 miliónov

Zmenou vyššie uvedených smerníc v php.ini sme boli schopní importovať cez Databáza PHPMyAdmin objem dát až 180 M.

Na importovanie výpisu databázy môžete tiež použiť bezplatná verzia Programy Sypex Dumper. Sklápač je optimalizovaný pre maximálna rýchlosť prácu, ako aj prácu s databázami o veľkosti cca 800 megabajtov.

Pri prenose webovej stránky z lokálneho servera na hosting je jedným z povinných postupov export/import databázy. Preto sa v tomto článku pokúsim čo najpodrobnejšie popísať proces exportu a importu databázy z lokálneho servera, teda z webového rozhrania PHPMyAdmin verzia 3.2.3 pre hosting.

Prvá vec, ktorú musíte urobiť, je beh lokálny server, v tomto prípade je to Denwer. Po spustení Denwer musíte otvoriť prehliadač a zadať do riadku prehliadača: „http://localhost/tools/phpmyadmin“, po ktorom sa pred vami otvorí okno(Obr.1)s predtým vytvorenými databázy.

Obr.1

Ďalej musíme vybrať databázu, ktorú budeme exportovať, v mojom prípade ide o databázu s názvom Mybd. Databázu môžete vybrať kliknutím na ňu na ľavej strane okna prehliadača, kde je uvedené „Vyberte databázu“ (obr. 2).


Obr.2

Po výbere požadovanej databázy sa otvorí okno so štruktúrou databázy. V hornom menu je položka "Export" pomocou ktorého vyexportujeme databázu do počítača a následne naimportujeme na hosting. A tak prejdite na položku „Exportovať“. (Obr. 3).


Obr.3

V okne, ktoré sa otvorí, musíte vykonať nejaké merania (obr. 4), a to: v bloku „Export“ musíte kliknutím na položku vybrať všetky databázové tabuľky "Vybrať všetko" a začiarknite políčko vedľa položky SQL, táto položka je zodpovedná za typ súboru, ktorý sa bude exportovať. Okrem toho musíte začiarknuť políčko vedľa "Uložiť ako súbor", ktorý zabezpečí uloženie databázy do súboru. Nie je potrebné meniť žiadne ďalšie nastavenia, stačí stlačiť tlačidlo "choď".

Obr.4

Teraz, ak ste urobili všetko správne, databázový súbor by sa mal stiahnuť do vášho počítača. Pomocou tohto súboru naimportujeme databázu na hosting.

Tiež musíte zmeniť kódovanie súboru na UTF-8 bez kusovníka, aby ste zmenili kódovanie, ktoré používam textový editor Poznámkový blok++(Stiahnuť ▼ ) . Pomocou tohto programu otvoríte databázový súbor a v menu "kódovanie" vybrať „Previesť na UTF-8 bez kusovníka“ (obr. 5), potom uložte a zatvorte.


Obr.5

Pekný deň kolegovia :)

Dnes vám budem naďalej predstavovať prácu s MySQL v konzole a príkazovom riadku MySQL.

Už som písal články o tom, ako cez konzolu vykonávať základné úkony s dátami MySQL a zálohovať MySQL databázy, ako aj export informácií v ňom uložených.

Logickým pokračovaním tohto príbehu bude obnova databázy a informácií v nej uložených pomocou operácií importu databázy MySQL. A čo je dôležité, budeme v tom pokračovať pomocou nástroja všetkých skutočných vývojárov – prostredníctvom konzoly.

Ak potrebujete návod na import databázy cez phpMyAdmin, tak ho nájdete v článku o. V aktuálnom článku to nechcem znova opisovať, najmä preto, že dnešný materiál bude venovaný výlučne importu databázy MySQL cez konzolu.

Ale predtým, ako začneme skúmať metódy a nástroje, pár slov o tom, čo je import databázy MySQL, aké to je a ako to najlepšie urobiť?

Import databázy MySQL: čo a prečo?

Import databázy MySQL je operácia, ktorá naplní databázu informáciami. V tomto prípade je zdrojom údajov súbor výpisu – snímka inej databázy, automaticky vytvorená počas operácie exportu, alebo špeciálne pripravený SQL skript.

Import, ako aj export databázy MySQL, sú v databáze uložené dva typy informácií:

  1. štruktúra databázy, jej tabuliek a údajov v nich uložených (bežne nazývané výpis databázy);
  2. jednoducho údaje uložené v tabuľke alebo zhromaždené pomocou VYBRAŤžiadosti.

Tento článok bude diskutovať o oboch možnostiach.

Ak chcete obnoviť databázu MySQL s jej štruktúrou a všetkými uloženými informáciami z výpisu, ako už bolo spomenuté, potrebujete súbor výpisu databázy, čo je textový súbor s ľubovoľnou príponou (môže byť vopred zabalený do archívu, aby sa zmenšila veľkosť) obsahujúci SQL príkazy na vytvorenie samotnej databázy a tabuliek, ako aj ich naplnenie informáciami.

Preto, ak chcete obnoviť databázu MySQL z výpisu, musíte vykonať príkazy obsiahnuté v súbore.

Pre pravidelnú obnovu dát takéto komplikácie nie sú potrebné. Stačí mať k dispozícii testovací súbor, v ktorom budú informácie štruktúrované rovnako ako v databázovej tabuľke: počet stĺpcov s informáciami zodpovedá počtu atribútov záznamu tabuľky.

Na tieto účely bude vhodný bežný txt súbor, v ktorom budú oddelené údaje, alebo súbory vytvorené v špeciálnych tabuľkových editoroch ( Microsoft Office Excel, OpenOffice atď.) s vynikajúcou príponou: xls, csv, odt atď.

Tieto formáty sú ešte výhodnejšie, pretože Pri ich vytváraní sú oddeľovače údajov pridávané automaticky editormi a nie je potrebné ich zadávať samostatne, ako v prípade bežného textového súboru.

Pridávanie údajov do MySQL: Nástroje

Čo sa týka nástrojov na import databázy MySQL, môžem povedať, že dnes existujú tri.

Uvediem ich, počnúc najnižšou úrovňou a končiac najvyššou úrovňou (z hľadiska používania všetkých druhov shellov a doplnkov):

  1. Serverová konzola a príkazový riadok MySQL;
  2. Skripty napísané v programovacích jazykoch, ktoré vám umožňujú zaznamenávať údaje v MySQL pomocou jazykových nástrojov;
  3. Hotové programy, ktoré poskytujú vizuálne rozhranie pre prácu s databázou (rovnaký phpMyAdmin, MySQL WorkBench, MySQL Manager atď.).

Myslím si, že poradie nástrojov nebude u nikoho vyvolávať otázky, pretože... Nástroje programovacieho jazyka spravidla pracujú na základe príkazov konzoly MySQL a programy sú založené na skriptoch alebo pracujú priamo s MySQL z príkazového riadku.

Tak či onak, konzola je vo všetkom na čele a zvyšné nástroje sú v skutočnosti jej emulátory.

Preto vám používanie konzoly pri importe údajov do MySQL umožňuje obísť rôzne druhy obmedzení, ktoré sú dané nastavením programovacích jazykov na webový server a samotné programy (ktoré sa mimochodom nedajú vždy zmeniť).

Vďaka tomu môžete nielen rýchlejšie načítať databázu MySQL cez konzolu, ale túto operáciu v zásade aj umožniť, pretože Skripty a programy majú tendenciu prerušovať import po dosiahnutí maximálneho času vykonania skriptu alebo sa vôbec nespustia kvôli veľkosti sťahovaného súboru.

Myslím, že každý, kto sa niekedy pokúsil nahrať veľký výpis do databázy MySQL cez phpMyAdmin, rozumie, o čom hovorím.

Často sú tieto limity príčinou chýb pri importe databázy MySQL, ktoré pri používaní konzoly nikdy neuvidíte.

Samozrejme, nie sú konštantné a dajú sa zmeniť, ale ide o ďalšiu bolesť hlavy, ktorá, mimochodom, nemusí byť pre bežných používateľov riešiteľná.

Dúfam, že som vás motivoval k importu databázy MySQL cez konzolu (jej štruktúry aj jednotlivých údajov).

A v tejto pozitívnej poznámke prejdeme k dlho očakávanej praxi a zvážime metódy a príkazy na konzolový prenos údajov do databázy.

Ako obnoviť databázu MySQL z výpisu cez konzolu?

Ak chcete nasadiť výpis MySQL z konzoly, existujú dva spôsoby:

  1. pomocou príkazu in príkazový riadok MySQL;
  2. v samotnej konzole servera.

Začnime pekne po poriadku.

Ak teda chceme importovať výpis databázy MySQL do existujúceho úložiska cez , musíme ho najskôr spustiť a vybrať požadovanú databázu, do ktorej nahráme náš výpis.

Implementácia týchto akcií je podrobne popísaná v článku prepojenom vyššie, takže ak potrebujete ich popis, vezmite si ich odtiaľ, pretože Nechcem ich duplikovať pre druhé kolo.

Po vykonaní vyššie uvedeného zadajte do MySQL Shell nasledujúci príkaz:

Source path_and_dump_file_name;

Ostáva nám už len preštudovať si správy v konzole o priebehu operácií obsiahnutých vo výpise.

Bez predchádzajúceho prepnutia na požadovanú databázu je možné po pripojení k serveru MySQL v konzole importovať výpis pomocou nasledujúceho príkazu:

Mysql -u užívateľské meno -p názov_databázy< путь_и_имя_файла_дампа

To je všetko. Hlavná vec je počkať na dokončenie importu, ak je súbor veľmi veľký. Dokončenie výpisu možno posúdiť podľa toho, kedy bude konzola servera opäť dostupná.

V skutočnosti je to nevýhoda túto metódu oproti predchádzajúcemu, pretože v prvom je možné sledovať operácie vykonávané s databázou pri importe, v druhom však nie.

Ak je súbor výpisu zabalený do archívu, pri sťahovaní bude potrebné ho súčasne rozbaliť.

V systéme Linux sa to dá urobiť takto:

Gunzip > [názov_archívneho_súboru.sql.gz] | mysql -u -p

IN Windows štandard V konzole nie je žiadna utilita na rozbalenie archívu, takže ju bude potrebné nainštalovať dodatočne.

Ako vidíte, import výpisu MySQL cez konzolu je veľmi jednoduchá operácia, ktorá sa vykonáva jedným príkazom. Na vykonanie tohto postupu teda nemusíte byť vývojár.

Ak zrazu neviete, ako spustiť konzolu servera, tieto informácie nájdete v článku o príkazovom riadku MySQL, ktorého odkaz som už zverejnil.

Mimochodom, pomocou opísaných metód je možné importovať aj tabuľku MySQL, a nie celú databázu. V tomto prípade musí výpis, ktorý nahráte, obsahovať operácie na jeho vytvorenie a naplnenie údajmi.

Načítanie údajov do databázy MySQL zo súboru v konzole

Hovorili sme o obnovení databázy MySQL z výpisu v konzole. Teraz je čas zistiť, ako môžete importovať údaje zo súborov, vrátane xls a csv, do databázy MySQL rovnakým spôsobom.

Pre túto úlohu máme opäť rovnaké dva nástroje ako v predchádzajúcom prípade: príkazový riadok MySQL a konzolu servera.

Začnime recenziu znova po poriadku.

Na import súboru v príkazovom riadku MySQL ho teda spustíme znova a prejdeme do databázy, do ktorej sa načítajú údaje.

NAČÍTAJTE DÁTOVÝ INFILE "cesta_a_názov_súboru_súboru" DO TABUĽKY `databázová_tabuľka` STĹPCE UKONČENÉ "," UZATVORENÉ "\"" RIADKY UKONČENÉ "\n";

Nezabudnite, že ak bol server MySQL spustený s možnosťou --secure-file-priv(čo sa často stáva, keď pomocou MySQL distribúcie zahrnuté v zostavách WAMP/MAMP), potom je potrebné zadať názov súboru s prihliadnutím na systémovú premennú secure_file_priv.

Aby sme mohli importovať databázu MySQL do konzoly servera bez toho, aby sme museli prejsť do prostredia MySQL Shell, budeme potrebovať tento nástroj mysqlimport, ktorý je súčasťou distribúcie MySQL, a jeho nasledujúce volanie:

mysqlimport –u user_name –p database_name name_and_path_to_import_file

Tento nástroj je analogický s príkazom SQL LOAD DATA INFILE, len pre príkazový riadok. Vynára sa však otázka, prečo potom medzi parametrami jeho volania nie je tabuľka, do ktorej sa budú načítavať dáta zo súboru?

Faktom je, že mysqlimport jednoducho fyzicky nemá tento parameter. Namiesto toho sa v názve importovaného súboru musí objaviť názov tabuľky, do ktorej sa budú načítavať údaje.

Tie. ak chcete importovať z Excelové tabuľky do MySQL tabuľky používateľov, potom by sa mal volať váš súbor users.xls.

Prípona importovaného súboru, ako už bolo spomenuté, môže byť čokoľvek.

Pomocou mysqlimport si môžete stiahnuť aj viac xls súbory alebo csv v MySQL. Aby sa údaje dostali na miesto určenia, musia sa zhodovať aj názvy súborov a databázových tabuliek, ako v predchádzajúcom príklade.

Ak zrazu stĺpce v importovanom súbore nie sú v rovnakom poradí ako stĺpce databázovej tabuľky, potom na objasnenie ich poradia musíte použiť možnosť —columns v nasledujúcom tvare:

Mysqlimport –u user_name –p database_name --columns column1, column2, ... name_and_path_to_import_file

Prirodzene, v mojich príkladoch som neuvažoval úplný zoznam parametre mysqlimport, pretože niektoré z nich sú veľmi špecifické a v praxi sa používajú veľmi zriedka.

Ak sa s nimi chcete zoznámiť, ich úplný zoznam je k dispozícii tu - https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html

Funkcie načítania údajov do databázy MySQL z výpisu

Ak chcete, aby bol proces importovania veľkej databázy MySQL rýchlejší, musíte vytvoriť výpis databázy pomocou špeciálne možnosti príkazy mysqldump, o ktorých som písal v predchádzajúcom článku o exporte databázy MySQL, odkaz na ktorý som uverejnil v texte skôr.

Samotné príkazy na import databázy MySQL bohužiaľ takéto možnosti nemajú.

Jediná vec je, že na zvýšenie rýchlosti pri načítavaní veľkého výpisu databázy môžete použiť nasledujúcu funkciu.

1. Otvorte súbor výpisu (najlepšie v správcovia súborov, pretože bežní editori môžu byť jednoducho zahltení veľkými súbormi).

2. Na začiatok súboru napíšte nasledujúce riadky:

SET kontroly cudzieho_kľúča = 0; SET UNIQUE_CHECKS = 0; SET AUTOCOMMIT = 0;

Poznámka! Môžu tam už byť alebo komentované (veľa programov, ktoré vytvárajú výpisy, ich môže pridať automaticky)

3. Na koniec súboru napíšeme opačné akcie:

SET kontroly cudzieho_kľúča = 1; SET UNIQUE_CHECKS = 1; SET AUTOCOMMIT = 1;

Mimochodom, tieto príkazy pomôžu nielen urýchliť proces importu, ale aj to umožnia.

Faktom je, že ak ste sa niekedy pozreli na súbor výpisu na import databázy MySQL, možno ste si všimli, že operácia nastavenia štruktúry načítaných tabuliek vyzerá takto:

PUSTIŤ TABUĽKU, AK EXISTUJE „klienti“; CREATE TABLE `klienti` (...);

Tie. v databáze sa vyhľadá tabuľka s rovnakým názvom, ako má importovaná, a ak sa nájde, vymaže sa a vytvorí sa nanovo.

A ak je zrazu existujúca tabuľka prepojená cudzími kľúčmi s ostatnými, celé načítanie zlyhá.

Preto je aj vypnutie kontroly existencie cudzích kľúčov a iných výbornou zárukou úspešného ukončenia procesu importu databázy MySQL.

Funkcie importu csv do databázy MySQL a ďalších súborov

Pri načítavaní údajov do databázy MySQL z textové súbory Možno budete musieť vypnúť cudzie kľúče.

Navyše, na rozdiel od predchádzajúcej situácie, v tomto prípade nebude možné do súboru zapisovať smernice, pretože Príkazy SQL v ňom nebudú prijaté a vykonané.

V predchádzajúcom článku o exportovaní databázy MySQL som už spomenul, ako to urobiť pomocou nasledujúcej operácie na príkazovom riadku MySQL:

SET FOREIGN_KEY_CHECKS=0;

Tam som však nespomenul, že systémová premenná MySQL FOREIGN_KEY_CHECKS má dva významy: globálny a relačný (pre aktuálnu reláciu).

Globálna hodnota premenných MySQL je platná pre akúkoľvek akciu na serveri MySQL, kým nie je reštartovaný. Potom sa hodnoty premenných vynulujú a budú im priradené predvolené hodnoty.

Hodnota relácie systémovej premennej MySQL je nastavená len na dobu trvania relácie používateľa so serverom MySQL. Relácia alebo relácia sa začína, keď sa klient pripojí k serveru, v tom čase je mu priradený unikát ID pripojenia a skončí po odpojení od servera, čo sa môže stať kedykoľvek (napríklad v dôsledku vypršania časového limitu).

Prečo som sa rozhodol zapamätať si to?

Pretože pri vykonávaní príkazov na načítanie súboru do databázy MySQL cez konzolu servera bez toho, aby som prešiel do prostredia MySQL, som zistil, že vypnutie kontroly cudzích kľúčov pomocou vyššie opísanej metódy nefunguje.

Na konzole sa stále zobrazovalo chybové hlásenie spôsobené prítomnosťou cudzích kľúčov v tabuľke.

A vzniklo z toho dôvodu, že vyššie uvedený príkaz zakázal kontrolu existencie cudzích kľúčov v rámci relácie, a nie globálne, čo je možné okrem uvedenej metódy vykonať aj takto:

SET SESSION názov_premennej = hodnota_premennej; SET @@session.názov_premennej = hodnota_premennej; SET @@názov_premennej = hodnota_premennej;

Vo vyššie uvedených príkazoch je premenná jasne označená ako session.

Och, pretože som načítal csv súbor do tabuľky MySQL cez konzolu servera, bez priameho pripojenia MySQL server, potom sa nevytvorila relácia, v rámci ktorej by fungovala moja hodnota premennej relácie.

Nakoniec som nastavil FOREIGN_KEY_CHECKS na globálne a import bol úspešný.

Môžete to urobiť jedným z nasledujúcich spôsobov:

SET GLOBAL názov_premennej = hodnota_premennej; SET @@global.nazov_premennej = hodnota_premennej;

Po zmene hodnôt je dobré skontrolovať hodnoty premennej a overiť, či sa zmeny prejavili. Ak chcete zobraziť reláciu a globálne hodnoty súčasne, použite nasledujúci príkaz:

SELECT @@GLOBAL.foreign_key_checks, @@SESSION.foreign_key_checks;

Týmto sa končí dnešný článok o importovaní databázy MySQL. Podeľte sa o svoje dojmy a svoj vlastný vývoj v komentároch. Myslím, že mnohých budú zaujímať vaše skúsenosti.

Uvídime sa znovu! 🙂

P.S.: ak potrebujete webovú stránku alebo potrebujete vykonať zmeny na existujúcej, ale nie je na to čas ani chuť, môžem ponúknuť svoje služby.

Viac ako 5 rokov skúseností profesionálny vývoj webových stránok. Pracovať s PHP, OpenCart,