Import MySQL databáze – chyby

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ě.

  1. Otevřete si .sql soubor, který se snažíte importovat, v libovolném textovém editoru.
  2. 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.
  3. 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é.
  4. 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.