Export a import výpisu databázy Oracle pomocou nástrojov expdp a impdp

  • 19.06.2019

/ mysql: ako vypisovať cez konzolu (terminál)

mysql: ako vypisovať cez konzolu (terminál)

Na zálohovanie databáz môžete použiť pomocný program mysqldump. Vypíše databázu mysql do textového súboru.

mysqldump -uuser -ppasswd -f názov_databázy > dump.sql

S týmto tímom áno záloha databázyúdaje pod názvom názov_databázy do súboru dump.sql

Niekoľko ďalších možností:

mysqldump -uuser -ppasswd -f --default-character-set=utf8 názov_databázy | gzip -c > názov_súboru.sql.gz

Ak potrebujete automatizovať odstraňovanie starých archívov, môžete použiť cron a príkaz find. Pravidelný chod

nájsť ~/archives-dir -name "*.gz" -mtime +7 -exec rm -f () ;

Vymažete tak archívy, ktoré sú „staršie“ ako 7 dní.

Niekoľko užitočných možností pre mysqldump:

Databázy vám umožňujú, aby mysqldump obsahoval príkazy CREATE DATABASE /*!33333 IF NOT EXISTS*/ DBNAME a USE DBNAME v skripte obnovy. To vám umožní vytvárať fungujúce databázy od začiatku. To znamená, že bez použitia --databases sa predpokladá, že používateľ obnovuje jednu databázu a explicitne špecifikuje, kde sa majú obnovené údaje umiestniť. Ak zálohovanie mysql je vytvorený s cieľom vytvoriť plne funkčnú kópiu údajov, napríklad na inom serveri MySQL, potom musíte použiť tento kľúč;

All-databases vám umožňuje vytvoriť zálohu všetkých databáz, ktoré existujú na danom serveri MySQL. Ak potrebujete vytvoriť kópie iba niektorých databáz, stačí ich zadať oddelené medzerou pri volaní mysqldump z príkazový riadok(viď vyššie);

Add-drop-table je kľúč, ktorý spôsobí, že mysqldump pridá príkaz drop table do finálneho skriptu pred vytvorením tabuliek. Vyhnete sa tak niektorým chybám pri obnove databázy z zálohovanie. Samozrejme, musíte počítať s tým, že tabuľky v pracovnej kópii (ak v zálohe existujú tabuľky s rovnakým názvom) budú pred obnovením zo zálohy vymazané z hlavnej databázy a znovu vytvorené zo zálohy;

žiadne dáta. Pomocou tohto kľúča môžete rýchlo vytvoriť kópiu štruktúry tabuľky / databáz bez samotných údajov. Napríklad ste vytvorili komplexná tabuľka a chceli by ste uložiť jeho štruktúru pre budúcnosť a nepotrebujete údaje, ktoré sú v tejto tabuľke v záložnej kópii;

Obnova zo zálohy

mysql -uroot -p --database DB --default-character-set=UTF-8

optimalizácia a údržba databázy mysql

Existuje aj veľmi lenivá verzia procesu, ktorá spracuje všetky tabuľky MyISAM vo všetkých dostupných databázach zadaný používateľ a funguje nonstop MySQL servery:

mysqlcheck -u root -p --optimize --all-databases

Alebo v konkrétnej databáze:

mysqlcheck -u root -p --optimize názov_databázy

Bez optimalizácie je možné vykonať iba kontrolu a opravu tabuliek ako InnoDB:

mysqlcheck -u root -p --auto-repair --check --all-databases

O pravidelnom zálohovaní webových stránok nie je potrebné presviedčať skúseného Joomla sprievodcu (zálohovanie - zálohovanieúdaje). Hacknutia stránok nie sú nezvyčajné, dochádza k zlyhaniam na hostiteľovi a nakoniec nie je vylúčená ani „chyba pilota“, keď náhodou vy sami (tréning s tímami Unix Shell ), vymažte celý web.

AT CMS Joomla Existujú dva objekty, ktoré je potrebné pravidelne zálohovať: databáza MySQL a skutočné súbory samotnej Joomly. Existuje niekoľko spôsobov vytvárania a ukladania záloh, z ktorých každý má svoje výhody a nevýhody. Pre prehľadnosť ich uvediem vo forme tabuliek:

Zálohovanie prostredníctvom poskytovateľa hostingu.

Niektorí hostitelia robia dennú zálohu databázy Joomla (a nielen tohto CMS) a súborov stránok. V prípade potreby je možné ich obnoviť súčasne alebo samostatne.

VýhodyNedostatky
  • Všetko prebieha automaticky, nemusíte sa báť, že by ste si zabudli urobiť zálohu včas
  • Existuje niekoľko kópií, zálohy sa robia každý deň. Stránku môžete obnoviť napríklad do stavu spred 3 dní
  • Zálohy odobrať miesto na disku vám pridelil hostiteľ
  • Na posledné dni sa uchováva obmedzený počet kópií (zvyčajne nie viac ako sedem).
  • Preto, ak si nevšimnete potrebu obnovy v nesprávnom čase, riskujete stratu zálohy, ktorú potrebujete.
  • Neexistuje spôsob, ako nakonfigurovať, ktoré adresáre podliehajú zálohovaniu a ktoré nie

Zálohovanie pomocou špeciálnych komponentov Joomla (napríklad - "JoomlaPack")

VýhodyNedostatky
  • Nainštalované v Joomle ako štandardný komponent a vždy „po ruke“
  • Niektoré z nich môžu pracovať podľa plánu a posielať zálohy MySQL databázy e-mailom
  • Dlhý pracovný čas (vytvorenie zálohy)
  • Čas vyhradený na hosting nie je vždy dostatočný na dokončenie skriptu (v predvolenom nastavení PHP skript po 30 sekundách)
  • Nespoľahlivý výkon na veľkých stránkach
  • Pre komponenty využívajúce technológiu Ajax (takmer všetky) - povinné spoľahlivý internet- spojenie

Zálohovanie programy tretích strán súbory a databázu samostatne

VýhodyNedostatky
  • Pracujte nielen s Joomlou, ale aj s inými CMS
  • Umožňuje vybrať, ktoré adresáre sa majú zálohovať a ktoré nie
  • Niektoré dostupné doplnkové funkcie, napríklad: práca so súbormi na hostingu, resetovanie (obnovenie) hesla Joomla SuperAdministrator
  • Umožňuje vytvárať a rozbaľovať archívy ZIP na serveri
  • Na hosting si musíte nainštalovať samostatné skripty, nakonfigurovať ich, vytvoriť pre ne samostatné heslá
  • „Poloautomatická“ práca – musíte určiť, ktoré priečinky sa majú zálohovať a postupovať podľa tohto procesu
  • Vytvorenie zálohy súborov po častiach (kvôli 30-sekundovému obmedzeniu skriptu)
  • Možné nebezpečenstvo na odstránenie (v dôsledku nepozornosti) požadované súbory alebo priečinky
  • Nie vždy funguje pre bezplatný hosting(napr. webová stránka, www.110mb.com)

V tomto článku popíšem poslednú možnosť: zálohovanie súborov a databázy Joomla CMS pomocou programov tretích strán.

Ako vypísať databázu MySQL. Zálohovanie databázy CMS Joomla

Program vytvorí zálohu databázy MySQL, bez ohľadu na to, aký CMS používate. Toto je samostatný PHP skript.

Databáza (DB) je softvérový nástroj, určený na ukladanie a spracovanie veľkých štruktúrovaných dát. Na našom hostingu môžete využívať databázu MySQL a SQ Lite.

MySQL je jedným z najpopulárnejších bezplatné systémy správa databázy. Prevažná väčšina redakčných systémov (CMS), fór, blogov, galérií a iných programov na trhu využíva na svoju prácu MySQL – najmä všetky softvérové ​​produkty k dispozícii na automatickú inštaláciu z ovládacieho panela.

Vytvorenie novej databázy

Na tvorenie nová základňaúdaje v ponuke ovládacieho panela hostingu prejdite do časti „Databázy“ a na stránke, ktorá sa otvorí, kliknite na tlačidlo „Vytvoriť databázu“. Formulár musí obsahovať:

  1. Názov databázy- vyzerá ako prihlasovacie meno, kde login je používateľ ovládacieho panela a meno je ľubovoľná množina latinské písmená a čísla. Výsledný celé meno Databáza nemôže byť dlhšia ako 32 znakov.
  2. Používateľské meno- má tvar podobný názvu databázy a nemôže byť dlhší ako 16 znakov. Ide o používateľa, ktorý má prístup k jednej alebo viacerým databázam a každý používateľ má iné heslo.
  3. Používateľské heslo- možno nastaviť ručne alebo ľubovoľne. Keď vyberiete existujúceho používateľa, môžete nastaviť Nové heslo- v tomto prípade sa prepíše predchádzajúca hodnota hesla.

Po vyplnení polí kliknite na tlačidlo „Vytvoriť databázu“. Podrobnosti o pripojení budú potrebné v konfiguračné súbory CMS alebo iné skripty, ako aj pre vzdialené pripojenie do databázy cez konzolu alebo aplikáciu phpMyAdmin.

Vytvorenie výpisu databázy

DB výpis je súbor obsahujúci inštrukcie jazyk SQL ktoré vytvárajú presná kópiaštruktúra a obsah databázy. Na prenos jej obsahu na náš server bude potrebný výpis databázy lokálny počítač alebo iný hosting, alebo len na vytvorenie zálohy pred akýmikoľvek zmenami na stránke.

Existuje niekoľko spôsobov, ako vytvoriť výpisy databázy:

  • cez sekciu "Databázy" ovládacieho panela Hosting kliknutím na názov databázy a kliknutím na tlačidlo "Stiahnuť zálohu".
  • vo webovom rozhraní phpMyAdmin, karta Export.
  • užitočnosť mysqldump v konzole.

Výsledný výpis je možné použiť na prenos a import do novej databázy alebo jednoducho na uloženie (ako zálohu dát).

Vytvorenie výpisu cez phpMyAdmin

phpMyAdmin- webové rozhranie pre prácu s databázami MySQL. Je k dispozícii na našom hostingu aj na veľkej väčšine iných stránok; je k dispozícii aj v rozšírenom softvérovom balíku Denwer a možno ho nainštalovať aj priamo do adresára lokality.

Rozhranie phpMyAdmin sa môže mierne líšiť od verzie k verzii, ale jeho všeobecná štruktúra a vzhľad sú všade rovnaké. Ak chcete vytvoriť výpis, vstúpte do rozhrania cez Ovládací panel alebo .

Pri autorizácii pomocou prihlasovacieho mena a hesla z ovládacieho panela sa zobrazia všetky databázy nachádzajúce sa na účte a pri vstupe z konkrétny používateľ Databáza s heslom sú len tie databázy, pre ktoré je tento používateľ vytvorený. Tento spôsob zadávania je napríklad výhodné dať vývojár tretej strany obmedziť prístup k obsahu účtu.

Po výbere databázy, ktorú potrebujete, sa v ľavom stĺpci zobrazí zoznam tabuliek obsiahnutých v databáze. Ak chcete rýchlo vytvoriť výpis, prejdite na kartu „Exportovať“. pravý stĺpec phpMyAdmin a kliknite na Ďalej. Po príprave výpisu vám prehliadač ponúkne uloženie tohto súboru do počítača alebo jeho automatické stiahnutie.

Po dokončení sťahovania budete mať k dispozícii archív s kompletnou kópiou databázy.

Vytvorenie výpisu v konzole MySQL

Väčšina efektívnym spôsobom práce s databázou je použiť konzolové nástroje MySQL: práca v konzole sa môže zdať na prvý pohľad menej vizuálna a pohodlná v porovnaní s grafickými utilitami, ale proces práce s MySQL cez konzolu nemá obmedzenia, ktoré existujú pri práci s databázou cez webové rozhranie.

Ak chcete vytvoriť výpis databázy v konzole, musíte použiť pomocný program mysqldump. Pripojte sa k serveru cez SSH.

ssh [chránený e-mailom]

kde Prihlásiť sa- prihláste sa do ovládacieho panela, doména.ru- ktorúkoľvek z vami hostovaných domén na našom hostingu.

Po zadaní hesla na vstup do ovládacieho panela sa ocitnete v rozhraní príkazového riadka servera:

$

kde server- názov servera, na ktorom je hosťovaný váš účet.

Výpis sa vytvorí príkazom:

mysqldump -u user -p názov databázy > dump.sql

kde užívateľ- používateľské meno vašej databázy, dbname- názov databázy, dump.sql- názov súboru, do ktorého sa uloží výpis databázy. Upozorňujeme, že heslo používateľa bude potrebné zadať ihneď po spustení príkazu.

Ak ste po prihlásení na server nezmenili pracovný adresár, výsledný výpis nájdete v koreňovom adresári svojho účtu. Pred stiahnutím (cez FTP, SFTP alebo HTTP) je možné výpis archivovať pomocou pomôcky gzip:

Gzip -c dump.sql > dump.sql.gz

kde dump.sql.gz- názov archívu, do ktorého bude skomprimovaný výpis databázy.

Import údajov do databázy

Ak prenášate stránku z lokálneho počítača alebo iného hostingu, budete musieť importovať výpis databázy, ktorú používa, do prázdnej databázy na našom hostingu. Po vytvorení novej databázy prostredníctvom ovládacieho panela môžete výpis importovať tromi spôsobmi:

  • cez Hosting Control Panel: "Databázy" → názov databázy → tlačidlo "Stiahnuť zálohu". Výpis musí byť archivovaný .gz alebo .zip;
  • vo webovom rozhraní phpMyAdmin, karta Import;
  • užitočnosť mysql na príkazovom riadku.

Importovať pomocou phpMyAdmin

Vstupom do rozhrania phpMyAdmin a výberom databázy, do ktorej chcete načítať výpis v ľavom stĺpci, zvoľte záložku "Import" v pravej časti okna.

V štandardnom dialógovom okne, ktoré sa zobrazí po kliknutí na tlačidlo „Prehľadávať“, vyberte výpis uložený vo vašom počítači. Zadajte požadované kódovanie (naše servery MySQL štandardne používajú UTF-8) a kliknite na "OK" - spustí sa proces nahrania výpisu na server a import jeho obsahu do databázy, ktorú ste vytvorili.

V prípade úspešného importu sa vľavo zobrazí zoznam tabuliek načítanej databázy a vpravo správa o úspešnom dokončení procesu importu a počte dokončených dotazov do databázy.

Teraz môžete začať používať túto databázu so svojou stránkou alebo iným softvérom.

Importovať v konzole MySQL

Ak chcete importovať výpis do databázy, musíte nahrať jeho súbor na server, pripojiť sa k serveru cez SSH, prejsť do adresára, kde je výpis načítaný, a spustiť nasledujúci príkaz v rozhraní príkazového riadka:

mysql -u user -p názov databázy< dump.sql

kde užívateľ- používateľské meno pre prácu s vašou databázou, dbname- názov vašej databázy, dump.sql- názov súboru výpisu, ktorý sa má importovať do databázy.

Ak je utilita mysql dokončil prácu bez chýb, výpis bol správne načítaný do databázy.

Chyby je potrebné nahlásiť servisu technická podpora, ktorý podrobne popisuje kroky, ktoré ste vykonali, a špecifikuje údaje potrebné na načítanie výpisu do databázy.

Urobiť výpis (zálohovanie) databázy je veľmi dôležité. Preto som urobil niekoľko komentárov s príkladmi takýchto skvelá užitočnosť ako mysqldump.

mysqldump - pomôcka vám umožňuje získať výpis obsahu databázy alebo súboru databáz na vytvorenie záložnej kópie alebo prenos údajov na iný databázový server SQL (nie nevyhnutne server MySQL). Výpis bude obsahovať sadu príkazov SQL na vytvorenie a/alebo naplnenie tabuliek.

mysqldump-u root -p -f databáza_názvov >

Týmto príkazom urobíme zálohu databázy pod názvom name_database na disk C v súbore mydb_backup_name_database.txt

Súbor nemusíte vytvárať, MySQL ho vytvorí za vás.

mysql-u root -p -f databáza_názvov< C:\mydb_backup_name_database.txt

týmto príkazom importujeme údaje zálohy zo súboru C:\názov_zálohy_mydb_databáza.txt

Poznámka: -f, --force je možnosť, ktorá vám povie, aby ste pokračovali, aj keď sa zobrazí chyba SQL, t.j. ignorovať chyby. Napríklad, ak tabuľka už má vo všetkom rovnaký riadok.

Aby sa od vás nepýtalo heslo, musíte ho napísať hneď za -p, teda bez medzier. Ak heslo pwd, potom príklad vyzerá takto:

mysqldump-u koreň -p pwd-f databáza_názvov > C:\názov_zálohy_mydb_database.txt

Ak často používate tento príkaz, je lepšie vytvoriť samostatného používateľa s potrebnými právami, aby sa znížilo heslo používateľa root

Zvážte viac jemné ladenie mysqldump:

-- databázy umožňuje mysqldump zahrnúť do skriptu obnovy príkazy CREATE DATABASE /*!33333 IF NOT EXISTS*/ DBNAME a USE DBNAME. To vám umožní vytvárať fungujúce databázy od začiatku. To znamená, že bez použitia --databases sa predpokladá, že používateľ obnovuje jednu databázu a explicitne špecifikuje, kde sa majú obnovené údaje umiestniť. Ak je záloha vytvorená na vytvorenie plne funkčnej kópie údajov, napríklad na inom serveri MySQL, potom je potrebné použiť tento kľúč;

--všetky-databázy umožňuje vytvárať kópie všetkých databáz, ktoré existujú na danom serveri MySQL. Ak potrebujete vytvoriť kópie iba niektorých databáz, stačí ich zadať oddelené medzerou pri volaní mysqldump z príkazového riadku (pozri vyššie);

kľúč --Pomoc. Program mysqldump má veľa verzií. Pomocou tohto kľúča môžete vidieť, aké funkcie konkrétne podporuje vaša verzia;

--add-drop-table- kľúč, ktorý spôsobí, že mysqldump pridá príkaz drop table do finálneho skriptu pred vytvorením tabuliek. Vyhnete sa tak niektorým chybám pri obnove databázy zo zálohy. Samozrejme, musíte počítať s tým, že tabuľky v pracovnej kópii (ak v zálohe existujú tabuľky s rovnakým názvom) budú pred obnovením zo zálohy vymazané z hlavnej databázy a znovu vytvorené zo zálohy;

--žiadne dáta. Pomocou tohto kľúča môžete rýchlo vytvoriť kópiu štruktúry tabuľky / databáz bez samotných údajov. Napríklad ste vytvorili zložitú tabuľku a chceli by ste uložiť jej štruktúru pre budúcnosť, ale nepotrebujete údaje, ktoré sú v tejto tabuľke v záložnej kópii;

--subor s vysledkom=...- tento prepínač možno použiť na presmerovanie výstupu do súboru. Môžete použiť obvyklé unixové presmerovanie pomocou príkazu ">" alebo môžete použiť tento kľúč. Kto má čo rád;

Ďalší veľmi užitočné rady o používaní mysqldump v hosťovanom prostredí. Pri používaní hostingu sú na používateľa spravidla kladené určité obmedzenia. Napríklad nemôžete vziať viac ako určité množstvo fyzická pamäť(RAM, RAM). mysqldump štandardne ukladá všetky dáta prijaté zo servera MySQL do pamäte a potom ich zapisuje na disk. Ak vám teda poskytovateľ umožní vziať si napríklad 30 MB pamäte a databázu, ktorej kópiu vytvoríte pomocou mysqldump, zaberá 50Mb, tu sa samozrejme vyskytne chyba - mysqldump nebude môcť správne fungovať a skončí nenormálne, o čom vás bude informovať. Ak chcete "prinútiť" mysqldump zapisovať údaje priamo na disk namiesto ich ukladania, aj keď dočasne, do pamäte, použite prepínač --rýchlo. Tým sa problém vyrieši.

Tu je niekoľko ďalších užitočných príkladov:

mysqldump -u root -p pwd-f --default-character-set=cp1251 dbname| gzip -c > názov_súboru.txt .gz

Takýto archív môžete rozbaliť príkazom:

názov súboru gunzip.txt .gz

Ak chcete vedieť, ku ktorému dátumu bola záloha vytvorená, môžete napísať nasledujúci príkaz:

mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME | gzip -c > `dátum "+%Y-%m-%d"`.gz

a ak musíte vypísať s rôznymi kódovaniami, potom je vhodné použiť premenné:

nastaviť DBCHARACTER=utf8

nastaviť dbname= porušenie

mysqldump -u root -p pwd-f --default-character-set=$ DBCHARACTER $dbname| bzip2 -c > sql. $DBNAME.`dátum "+%Y-%m-%d"`.bz2

Ak chcete automatizovať odstraňovanie starých archívov, skúste použiť cron a príkaz find, ktorý sa bežne vyskytuje v systéme Unix. Pravidelný chod

Nájsť~/archives-dir -name "*.gz" -mtime +7 -exec rm -f () \;

Týmto spôsobom odstránite archívy, ktoré sú „staršie“ ako sedem dní.

MySQL: oprava tabuľky, výpis databázy, načítanie dát

Takže. Čo užitočné dokáže MySQL.

V prvom rade to musíte pochopiť MySQL je databázový stroj, navrhnutý tak, aby podporoval rôzne databázy a simultánnu údržbu Vysoké čísložiadostí od rôznych používateľov.

Inými slovami, nemyslite si, že pre každú stránku musíte „vytvoriť“ a nakonfigurovať samostatnú kópiu MySQL.

Každý používateľ má svoju vlastnú oblasť na ukladanie informácií, ktorá sa nazýva databáza. A ak vám poskytovateľ dal prístup k MySQL, tak vám určite dal všetky práva na vašu osobnú databázu, v ktorej budete hosťovať.

Na prácu s MySQL môžete použiť ľubovoľného klienta SQL, ktorý je vám najznámejší a najpohodlnejší. Osobne používam štandardného klienta MySQL bežiaceho v prostredí UNIX.

Bežná komunikácia s MySQL silne pripomína prácu v shelli alebo v DOSe (pre tých, ktorí ešte nikdy nevideli UNIX na očiach).

Najprv sa pripojíte k MySQL, čo môže vyzerať takto:
bash> /usr/local/bin/MySQL -h MySQL.int -u 21ru -p 21ru
kde prebieha volanie na samotného klienta MySQL s uvedením adresy servera MySQL (MySQL.int je adresa samostatného servera s MySQL), s uvedením používateľského mena a názvu databázy (databázy).

Po stlačení klávesu enter ma MySQL požiada o heslo, overí ho a vpustí ho do môjho shellu:

Zadajte heslo: Tabuľka na čítanie informácie pre doplnenie názvov tabuliek a stĺpcov vypnúť Táto funkcia umožňuje rýchlejšie spustenie s -A
Vitajte v monitore MySQL. CoMySQLands končia na ; alebo\g. Vaše ID pripojenia MySQL je 3060933 k verzii servera: 3.23.49 Napíšte "help;" alebo "\h" pre pomoc. Napíšte "\c" na vymazanie vyrovnávacej pamäte MySQL>
Páči sa ti to. A potom začneme komunikovať s MySQL.

Toto spojenie sa nelíši od tých, ktoré vytvárajú vaše skripty. Tiež sa pripájajú k MySQL, pošlú naň požiadavku, dostanú odpoveď a ukončia reláciu. Práca v prostredí MySQL sa líši iba v tom, že reláciu udržiavame dlho otvorenú, pričom do MySQL postupne odovzdávame všetky druhy dotazov.

Čo sa dá robiť s MySQL, okrem bežných dotazov na databázové tabuľky.

Tieto tabuľky môžete upravovať sami. Na tento účel sa používa dotaz kľúčové slovo ALTER TABLE.

Potrebujeme napríklad pridať do existujúcej tabuľky tbl_text text_length pole vo formáte int s počiatočnou hodnotou 100. Píšeme:
alter table tbl_text add column text_length int not null default 100; a všetky záznamy v tabuľke tbl_text dostanú nové pole text_length s hodnotou 100.

Mimochodom, v shelli MySQL môžete písať dotazy do viacerých riadkov. MySQL nezačne interpretovať váš dotaz, kým ho neukončíte bodkočiarkou ";" a zadajte nasledujúci znak.

A vezmite prosím na vedomie, že dobre sformovaný dotaz založený na ALTER TABLE nikdy nezničí vaše údaje, ktoré boli predtým zadané do opravenej tabuľky, pokiaľ neodstránite pole v tabuľke alebo nezmeníte jeho typ

Prenos dát

Chcel by som tiež upozorniť na problémy mnohých používateľov, ktorí „prenášajú“ údaje z iných databáz.

Často sa ukazuje, že nie je možné pripojiť sa k dvom databázam naraz a prenášať údaje z jednej databázy do druhej. Najmä keď stará základňa dáta v starom neznámom formáte, alebo aj niečo domáce.

V takýchto prípadoch používateľ začne písať skript, ktorý „nasaje“ dáta zo súboru, analyzuje ich a pomocou banálneho insertu vloží do tabuliek.

Vo všeobecnosti nie je v tomto prístupe nič odsúdeniahodné, najmä ak potrebujete vyplniť tucet alebo dvetisíc riadkov. Ak však vaša databáza vyzerá ako skutočná a počet záznamov sa meria v miliónoch, je lepšie ju použiť špeciálna príležitosť MySQL, ktorý je tzv LOAD DATA INFILE.

Ide o veľmi flexibilnú funkciu MySQL, ktorá vám umožňuje čítať údaje zo súboru do databázy. Flexibilita zároveň spočíva v tom, že môžete popísať formát ukladania údajov do súboru, určiť rozsah údajov, ktoré sa majú vyplniť atď.

A čo je najdôležitejšie, rýchlosť nahrávania dát pomocou LOAD DATA veľa presahuje rýchlosť plnenia vložky riadok po riadku.

Dúfam, že funkcia LOAD DATA bude pre vás užitočná.

Vytvorenie výpisu v MySQL

Čo ak potrebujete preniesť nielen svoje údaje, ale aj celú konfiguráciu databázy: tabuľky, pravidlá, indexy atď.?

V takom prípade sa nám bude dumping databázy veľmi hodiť.

Čo výpis databázy. Ide o výstup štruktúry a údajov z databázy vo formáte SQL dotazov.

Nechaj ma vysvetliť. Ak máme tabuľky v databáze a dáta v tabuľkách, tak do výpisu dostaneme SQL dotazy na zostavenie tabuliek a inserty na naplnenie týchto tabuliek dátami.

Čo vám hovorím, vy sami môžete vyhodiť akúkoľvek svoju základňu a pozrieť sa na ňu.

Balík MySQL má mysqldump kto to robí. Spustenie mysqldump je veľmi podobné spusteniu štandardného klienta MySQL, o ktorom som písal na začiatku tohto vydania. To znamená, že je uvedená databáza, je uvedený používateľ a názov databázy, ktorú vypíšeme.

Napríklad:
bash> /usr/local/bin/mysqldump -h MySQL.int -u 21ru -p 21ru Samozrejme, mysqldump má veľa možností. Napríklad zadaním v reťazci hovoru -d môžete vypísať iba štruktúru tabuliek bez údajov. Je to užitočné najmä vtedy, keď potrebujete vytvoriť kópiu štruktúry databázy na inom serveri bez prenosu údajov. Môžete tiež zadať konkrétne tabuľky, ktoré potrebujete vypísať atď.

Úplný zoznam kľúčov mysqldump možno získať na adrese:

Bash> mysqldump --help
Po prijatí výpisu databázy do vašich rúk ho môžete nahrať do takmer akejkoľvek inej databázy SQL a na akýkoľvek iný server MySQL - to je isté.

Nahrávanie údajov z výpisu je jednoduché:
$ /usr/local/bin/mysql -h MySQL.int -u 21ru -p 21ru kde prvá časť reťazca pred " " je pripojenie k databáze a druhé je súbor obsahujúci výpis databázy.

MySQL sa pripojí k databáze (nezabudne vás požiadať o heslo) a vykoná všetky inštrukcie v súbore base.dump riadok po riadku.

Ako vidíte, všetko je jednoduché. Skúste to sami.

Takže. Ak chcete preniesť svoj projekt napísaný v php+MySQL, môžete to urobiť v niekoľkých jednoduchých krokoch:

1. Vypíšte databázu (s údajmi, ak potrebujete kópiu projektu a bez údajov, ak potrebujete nový čistý projekt).

2. Skopírujte súbory samotnej lokality

3. Upravíme cesty v súboroch php, ak sa zmenili.

Na zálohovanie databázy môžete použiť aj mysqldump. Nezabudnite, že MySQL sa líši od svojich starších bratov tým, že nemá transakcie. Inými slovami, príkaz vydaný MySQL už nie je možné vrátiť späť. A ak si napísal odstrániť z tabuľky názov_tbl a stlačte Enter pred obmedzením vymazania niektorými kritériami, tabuľka tbl_name bude trvalo vymazaná z údajov. A v tomto prípade vám veľmi pomôže mysqldump vyrobený krátko predtým.

To je všetko o spustení MySQL na vzdialenom hostingu. Ak ste si MySQL nainštalovali sami a spravovali ste si ho sami, potrebujete vedieť oveľa viac.

Musíte byť schopní vytvárať databázy, používateľov, správne určovať úrovne prístupu používateľov k databáze, chrániť MySQL pred vonkajšími útokmi, konfigurovať vyrovnávaciu pamäť, efektívne spravovať pamäť servera, triediť jazyky atď. kurepin.ru