Nagy SQL Fájlok importálása egyszerűen

Indította .TouCH, 2012 március 10, 05:36:15 DÉLUTÁN

Előző téma - Következő téma

.TouCH

Sziasztok!

Gyakran előfordul velem, hogy fel kell tenni egy mysql adatbázist, valamilyen tárhelyre egy exportált SQL-ből. Ameddig az adatbázis mérete nem túl nagy nincs is baj, ott van a phpMyAdmin amiben lehet lehet SQL-t futtatni. Vagy ideális esetben az embernek van rendes hozzáférése szerverhez, de valahogy ez nem jellemző :)

De mi a helyzet, amikor az exportált állományunk, 50 - 100 MB, vagy akár gigabyteos méretű, és a file feltöltési korlátunk 2MB, darabolhatjuk, zippelhetjük, nagyon jó játék lesz :)

Találtam egy nagyon egyszerű scriptet(nem én írtam), amit csak fel kell tölteni FTP-re és lefuttatni.

Az elv nagyon egyszerű, beolvassuk soronként és lefuttatjuk az SQL-t, de megszabjuk a határt, hogy egyszerre hány sort dolgozhat fel. Ha elérjük, akkor oldalújratöltünk, majd folytatjuk. Így nem fogjuk elérni a php MAX_EXECUTION_TIME limitjét.

Még nem találkoztam olyannal szerverrel, ahol ne működött volna, gyengéje egyértelműen a 4-es PHP, és a 4.1 feletti MySQL kombináció, de a szervereken szerencsére ez a párosítás nem divat. Továbbá, hogy a kód nem túl szép, és adatbiztonság szempontjából inkább nem is fűzök hozzá semmit :)

PHPMyAdmin által generált SQL -ekre szoktam használni, megy szépen.

Link:
http://filebeam.com/21d860208c47d9718da1eb0063e00d14 Script 1
http://filebeam.com/b77b72d66addf3a4b47c21994561cfb7 Script 2
Használata roppant egyszerű. Az FTP tárhelyedre feltöltöd EGY mappába a PHPMyAdmin-ból exportált SQL fájlt és a script.php és script2.php nevű fájlt.(Azért hangsúlyoztam ki, hogy egy mappába, mert ha nem azonos mappába van a kettő, akkor nem fog működni.) A script.php-t nyisd meg, majd módosítsd az alábbiak szerint a saját adataidra:

define("DBHOST", "MYSQL HOSZTOD");  
define("DBUSER", "ADATBAZISOD_FELHASZNALOJA");  
define("DBPASS", "ADATBAZISOD_JELSZAVA");  
define("DBNAME", "ADATBAZIS_NEVE");

Majd keresd meg ezt a részt:
$f = fopen("db.sql", "r");

és a "db.sql" fájlt írd át arra, ami a te exportált SQL fájlodnak a neve.

Ugyanezt csináld meg a script2.php fájllal is.

Mentsd el.

Menj fel az alábbi címekre, majd az alábbi sorrendben futtasd őket!

1. http://atecimed.hu/mappaahovaraktad/script.php (Enter és várd meg míg végigmegy!)
2. http://atecimed.hu/mappaahovaraktad/script2.php (Enter és várd meg míg végigmegy!)

Élvezd, hogy másodpercek alatt beimportálta a nagy méretű fájlodat!

Remélem sokmindenkinek tudtam segíteni :)

TouCH
Tanulj egész nap, játssz egész este!

Explo

Na ez bizony hasznos!

Bár a nagy SQL fájlokat Navicattel is tudod importálni, feltéve ha az adott hostnál (ha hostnál vagy) engedélyezve van.  ;D
Soha nem lesz már olyan, mint régen. Más lesz. De ez nem jelenti azt, hogy rosszabb.

Powered by EzPortal