sql >> Databáze >  >> RDS >> Mysql

Jak zabránit časovým limitům připojení u velkých importů MySQL

Strategie pro import velkých databází MySQL

Import PHPMyAdmin

Je pravděpodobné, že pokud to čtete, PHPMyAdmin nebyl možností pro import vaší velké databáze MySQL. Nicméně za pokus to vždy stojí, ne? Nejčastější příčinou selhání importu PHPMyAdmin je překročení limitu importu. Pokud pracujete lokálně nebo máte svůj vlastní server, můžete zkusit změnit nastavení MySQL ini, které se obvykle nachází v souboru my.ini umístěném v instalační složce MySQL. Pokud pracujete s WAMP ve Windows, můžete k tomuto souboru přistupovat pomocí ovládacího panelu WAMP pod MySQL> my.ini. Nezapomeňte restartovat WAMP, aby se použilo vaše nové nastavení. Nastavení, která zde možná budete chtít zvýšit, zahrnují:

max_allowed_packet
read_buffer_size

I s vylepšeným nastavením importu MySQL stále můžete zjistit, že kvůli nastavení PHP vypršel časový limit importu. Pokud máte přístup k PHP.ini, můžete provádět úpravy maximální doby provádění a souvisejících nastavení. Ve WAMP otevřete soubor PHP.ini z ovládacího panelu WAMP na adrese PHP> php.ini. Zvažte zvýšení limitů pro následující nastavení při zkoušení velkých importů MySQL:

max_execution_time
max_input_time
memory_limit

Použití importéru s rozloženým výpisem MySQL Big Dump

Pokud základní import PHPMyAdmin nefunguje, možná budete chtít vyzkoušet skript Big Dump z Ozerov.de pro postupné importy MySQL. Tento užitečný skript provádí import v menších blocích, což je přesně to, co je často potřeba k úspěšnému importu velkého výpisu MySQL. Jde o bezplatné stažení dostupné na adrese http://www.ozerov.de/bigdump/ .

Proces použití Big Dump je poměrně jednoduchý:v podstatě umístíte svůj importní soubor SQL a skript Big Dump společně na server, nastavíte několik konfigurací ve skriptu Big Dump a poté skript spustíte. Big Dump se postará o zbytek!

Jedním z klíčových bodů této jinak skvělé možnosti je, že nebude vůbec fungovat na exportech MySQL, které obsahují rozšířené vložky. Pokud tedy máte možnost zabránit prodlouženým vložkám, zkuste to. V opačném případě budete muset pro import velkého souboru MySQL použít jinou metodu.

Přejít na příkazový řádek pomocí konzole MySQL

Pokud používáte WAMP (a i když ne), vždy existuje možnost přerušit a importovat svou velkou databázi MySQL pomocí konzoly MySQL. Při psaní tohoto příspěvku tímto způsobem importuji 4GB databázi. Což je vlastně důvod, proč mám nějaký čas na psaní, protože i tato metoda zabere čas, když máte k importu 4GB SQL soubor!

Někteří vývojáři (obvykle já) jsou zastrašeni otevřením černé obrazovky a psaním tajemných příkazů. Ale může to být osvobozující, a pokud jde o databáze MySQL, je to často nejlepší cesta. Ve WAMP přistupujeme ke konzoli MySQL z ovládacího panelu WAMP na MySQL> MySQL Console. Nyní se naučíme 2 jednoduché příkazy konzoly MySQL, které potřebujete k importu databáze MySQL ve stylu příkazového řádku:

use `db_name`

Příkaz use následovaný názvem databáze sdělí konzoli MySQL, kterou databázi chcete použít. Pokud jste již nastavili databázi, do které importujete, začněte zadáním use příkaz. Předpokládejme, že se vaše databáze jmenuje my_great_database . V tomto případě zadejte v konzole MySQL následující příkaz. Pamatujte, že příkazy musí končit středníkem.

mysql-> use my_great_database;

mysql-> source sql_import_file.sql

Příkaz source následovaný umístěním souboru SQL importuje soubor SQL do databáze, kterou jste dříve zadali pomocí use příkaz. Musíte zadat cestu, takže pokud používáte WAMP na místním serveru, začněte tím, že soubor SQL umístíte někam, kde je snadno dostupné, například C:\sql\my_import.sql. Úplný příkaz s touto ukázkovou cestou by byl:

mysql-> source C:\sql\my_import.sql;

Po spuštění tohoto příkazu by se měl začít importovat soubor SQL. Před zavřením konzole MySQL nechte dotazy běžet a nechejte dokončit import.

Další dokumentaci pro příkazový řádek MySQL lze nalézt zde:http:// dev.mysql.com/doc/refman/5.5/en/mysql.html .

Dalším řešením je použití MySQL Workbench .



  1. Jak opravit typické chyby WordPress

  2. Jak sledovat, co uživatelé dělají

  3. Jak lze porazit sanitaci bez jednoduchých uvozovek injekcí SQL na serveru SQL?

  4. Funkce WIDTH_BUCKET() v Oracle