Změna webhostingu, přesun od jiného poskytovatele nebo obnovení smazaného webhostingu – to obvykle zahrnuje i import databáze.
Při něm můžete narazit na několik chyb, v tomto článku se pokusíme zmínit ty nejběžnější a poradit správný postup.
Zde se zabýváme především chybami. Kompletní postup importu a exportu dat z databáze řeší tento návod.
Všechny ukázkové situace vznikly v našem PHPMyAdmin rozhraní.
#1005 – Can’t create table `d123456_aec123`.`tablename` (errno: 150 „Foreign key constraint is incorrectly formed“
Toto bude muset řešit programátor nebo nejlépe autor vašeho webu. Bude potřeba provést úpravy v foreign keys.
#1044 – Access denied for user to database
Nejčastěji je příčinou uvedení názvu databáze v .sql souboru. Pokud v souboru není určeno, do které databáze importovat, import proběhne bez komplikací do zvolené databáze. Pokud to určeno je, a neshoduje se to s přihlášeným uživatelem, dojde k chybě.
- Otevřete si .sql soubor, který se snažíte importovat, v libovolném textovém editoru.
- Najděte řádky, které začínají příkazy CREATE DATABASE a USE, budou na začátku. Takové příkazy u nás nelze použít, proto je třeba se jich zbavit.
- Celé řádky s těmito příkazy smažte, tak jak je vyznačeno na screenshotu. Řádky začínající znaky – – jsou jen komentáře, pro přehlednost je můžete smazat také.
- Soubor .sql uložte a použijte k importu.
Pak zkuste import provést znovu. Pokud narazíte na další chyby, pročtěte si prosím i zbytek tohoto návodu, kde pokrýváme všechny běžné problémy.
#1046 – No database selected
Nebyla zvolena databáze, do které importovat. Jeden uživatel totiž může mít přístup k více databázím. U nás to sice není možné, ale PHPMyAdmin s touto možností počítá, takže po přihlášení je ještě nutné v levém sloupci vybrat správnou databázi a až pak importovat.
Pak zkuste import provést znovu. Pokud narazíte na další chyby, pročtěte si prosím i zbytek tohoto návodu, kde pokrýváme všechny běžné problémy.
#1050 – Table ‚xx_yyyyyyyyyy‘ already exists
Konkrétní příklad chyby, název tabulky může být různý:
#1050 – Table ‚wp_commentmeta‘ already exists
Zřejmě importujete do existujících tabulek a skript se je snaží vytvářet znovu. Nejlépe použijte jiný prefix. Nebo se ujistěte, že data v tabulkách nepotřebujete a všechny tabulky odstraňte. Pak import opakujte, už by měl proběhnout.
#1062 – Duplicate entry ‚1‘ for key ‚PRIMARY‘
Zřejmě importujete do existujících tabulek a nějaký podobný obsah tam již je. Nejlépe použijte jiný prefix. Nebo se ujistěte, že data v tabulkách nepotřebujete a všechny tabulky odstraňte. Pak import opakujte, už by měl proběhnout.
#1142 – CREATE command denied to user *
S největší pravděpodobností se do PHPMyAdmin přihlašujete jako uživatel s omezenými právy. Ten je doporučený pro provozování webu, nehodí se ale pro instalace webů a importy databáze, protože nemůže vytvářet databázové tabulky. Přihlaste se prosím do PHPMyAdmin znovu, tentokrát jako uživatel pro správu databáze, najdete jej v e-mailu, v kterém jsme vám zaslali přístupové údaje k databázi.
Pak zkuste import provést znovu. Pokud narazíte na další chyby, pročtěte si prosím i zbytek tohoto návodu, kde pokrýváme všechny běžné problémy.
Narazili jste na jinou chybu?
Dejte nám o tom vědět. Pokusíme se danou situaci do článku zapracovat.