Snažím se importovat soubor .sql pomocí MySQL Workbench a dostanu tuto chybu:
ERROR 1046 (3D000) at line 28: No database selected
Nejprve jsem vytvořil prázdnou databázi nazvanou se stejným názvem jako soubor .sql, ale nefunguje to. Zkoušel jsem to také s příkazovým klientem mysql pomocí:
mysqldump -u root database > file.sql
Ale říká, že v mé syntaxi SQL došlo k chybě. Navíc nevím cestu, kam musím nastavit file.sql.
odpověď juergen d je samozřejmě správná; s ohledem na vaši chybovou zprávu však můžete také přidat do svého souboru SQL na začátku řádku, například:
USE your_database_name;
To by také mělo udělat úlohu a umožnit vám import pod Workbench.
Pokud používáte mysqldump
, exportovaný soubor bude uložen do aktuální složky. Nezáleží na tom, jakou cestou to je. Právě při importu z příkazového řádku musíte být ve stejné složce nebo zadat cestu k souboru. To však neplatí, pokud používáte vizuální nástroj, jako je Workbench, kde přesto musíte vybrat soubor ze stromu složek.
Vývozní:
mysqldump -u username –-password=your_password database_name > file.sql
Import:
mysql -u username –-password=your_password database_name < file.sql
Soubor .sql můžete také importovat jako již připojeného uživatele do databáze:
mysql> use your_database_name;
mysql> source file.sql;
Další způsob importu souborů výpisu, když source <filename>
nefunguje, je následující:
výpis
~> mysqldump --user=<user> --password=<password> <db_name> > <export_file_name>.sql
Import
> mysql -u <user> -p <pass> <db_name>
mysql> USE <db_name>; (if you didn't already select)
mysql> \. ~/<export_file_name>.sql
Chybí vám heslo v příkazu. Použijte následující.
mysql --u [username] --password=[password] [database name] < [dump file]
Pro Windows v instalačním adresáři serveru MySQL (např. C:\Program Files\MySQL\MySQL Server 5.5
), v my.ini file
, přidejte následující řádek pod [mysqld]
v sekci server:
max_allowed_packet = 16M
A uložte změny. (Pokud nemáte dovoleno ukládat, zkopírujte a vložte na plochu a znovu upravte, pak vložte do stejného umístění.)
Poté restartujte server MySQL.