Autor Zpráva
23k
Profil
Je nejaka moznost jak importovat do DB na hostingu zalohu SQL vetsi nez je defaultne polovoleny LIMIT cca 10 MB? Muj web narusta, a akce ze bych musel importovat treba na 4x me desi. (rozdelit na mensi soubory)
Hugo
Profil
muze pouzit bud
load data infile

http://dev.mysql.com/doc/refman/4.1/en/load-data.html

nebo utilitku mysqlimport.

Ovsem jen pokud ti to dovoli hosting.
Kajman_
Profil *
Pokud je možné použít rovnou mysql klienta (nejspíše po ssh na hostingový stroj), tak by 10MB neměl být problém.
Leo
Profil
Load data infile je k nicemu, pokud ten zdrojak dat je SQL soubor, rekl bych. A mysqlimport vetsinou na webhostingu nedovoli. Leo
Hugo
Profil
Leo

Ano sql, to nesezere, ale neni problem napsat jednoduchy skript, ktery to prevede na pozadovany format.
23k
Profil
Tak to sem asi v ... :[
To by mne zajimalo jak to delaji ostatni, preci jen 15-30 MB v dnesni dobe neni u malych ci strednich webu zadna kuriozita.
Hugo
Profil
23k

No já mám skoro všude přístup přes ssh, je důležité si najít správný hosting :-).
Leo
Profil
Ja to delam tak, ze velka data proste do databaze najednou neimportuju, nejak jsem to zatim nepotreboval. Leo
roberta
Profil
presne, ako píše Leo. Načo chceš importovať veľké data do db? však existujú aj iné možnosti. napr. necháš si súbor na disku a do db vložíš iba link na ten súbor...
Hugo
Profil
roberta

Potrebujes to treba, kdyz menis server.
roberta
Profil
Hugo
však na novom serveri môžeš zachovať rovnakú adresárovú štruktúru, ako na starom
Hugo
Profil
Ale tady se bavime o databazi! To nema s adresarovou strukturou nic spolecneho.
Hugo
Profil
Aha už chápu tvůj příspěvek. Ono mít některé data v souborech je dost nebezpečné a taky se s tím blbě pracuje (např. logy, různé informační databáze atd.). Takto se můžeš dostat i ke GB dat.
error414
Profil
23k
nei zadny problem to roseknout nadve casti a naimportovat nadvakrat, nereknu kdyby to 50GB ale 15mb.
kaifman
Profil
mozna by melo by stacit sql soubor nahrat na server a spustit

mysql_query('source tvujSoubor.sql');

ale nezkousel jsem to
thingwath
Profil
Takovéhle věci se po technické stránce dají udělat celkem jednoduše a normálně, když to hosting omezuje a vy to potřebujete (a neudělají to ani na požádání), tak asi nehostujete na té správné adrese.
Hugo
Profil
kaifman

Tohle nepoběží, protože z bezpečnostních důvodů (hlavně kvůli sql injection) může mysql_query spustit pouze jeden dotaz. Takže by se to nejdřív muselo rozdělit na jednotlivé dotazy a pak teprve vkládat do db přes mysql_query()
23k
Profil
Dekuji vsem zucastnenym za nazory ...

A nyni postupne:

Leo -> Load data infile, nezkousel jsem ale rekl bych ze je to neco jako klasicky import, a napr. nacteni 5 MB souboru trva celou vecnost ...

Hugo -> SSH ani nevim zda-li to mam povoleno, zeptam se admina (ten se mi vlastne sam nabidl ze mi to importne, ale otravovat ho tak 2-3x do mesice se mi nechce)

Roberta -> tvemu zpusobu nerozumim, objasni prosim ( Import velkeho SQL souboru v PMA ? )

error -> Moje DB cita 62 tabulek. A nebudu to delit na X mensich souboru, je to zbytecna namaha. (Oznacit X tabulek, podivat se jakou to ma velikost, exportovat, ulozit, nacist a znova .. no fuj :/)
error414
Profil
23k
Pochopil jsem to tak ze muzes nahrat maximalne 15MB naraz, takze logicky muzes nahrat nadvakrat 10MB a 5MB
staci vygenerovat v phpadminovi sql dotazy a nahrat je tam nadvakrat.
Hugo
Profil
23k

S tím load data infile nemáš pravdu. Je to extrémně rychlé (oproti vkládání dat pomocí sql příkazů).
23k
Profil
error414 -> Uz si to nekdy zkousel? Zkus si treba cca 5 MB soubor ( jestli ti nezatuhne browser, tak si mezi tim importem stihnes uvarit kafe)

Hugo -> Ok zkusim a dam vedet

Ale problem stejne pretrvava, az moje DB preroste povoleny limit tak se holt budu muset na obracet na admina :|
error414
Profil
23k
Proto je tam fce nahrat ze souboru. Videl si nekdy phpAdmina???
Pri inportu dole.

Ted se divam ze se da importovat maximalne 2MB ale slo by to komprimovat
DoubleThink
Profil *
Limit zpravidla neurčuje MySQL - je to datový limit PHP - proměnné upload_max_filesize a post_max_size.

Jak už tady někdo řekl, řešením bývá rozdělení Dumpu na víc souborů.
Kaifman
Profil
a co si udelat na to takovou sluzbu

na tvem servru budes mit skript

import.php?password=<tvojeHeslo>

jemuz pres POST posles zagzipovanej SQL , on si to rozbali a nastrka to do db

u sebe budes mit nejake programek kterej rozdeli ten velkej SQL soubor a bude ho postupne zagzipovanej posilat na ten tvuj skript na server

vseho-vsudy hodka-dve prace
23k
Profil
Mno tak toje zajimave, imho nekdy zkusim, jestli bych to zvladl
Kaifman
Profil
imho na tom neni nic moc sloziteho, na tom serveru staci vlastne akorat spracovat klasickej POST upload a ten tvuj programek u tebe nalokale udela normalni POST request pres socket, zadna veda
DADAK
Profil *
no mno asi to nejak divne a slozite resite...

staci takto napsat
mysql -p -h localhost jmeno_databaze < nazev_souboru.sql

a slo by napsat takhle?

system(mysql -p -h localhost jmeno_databaze < nazev_souboru.sql,'');

DADAK
DoubleThink
Profil *
Najdi nám hosting s povolenou funkcí system()
Toto téma je uzamčeno. Odpověď nelze zaslat.

0