Импорт с использованием MySQL WorkBench... ошибка ОШИБКА 1046 (3D000)

Сценарий: создание окружающей среды RoR локально для развития. Продукция находится на EngineYard / GitHub. Все теперь работает нормально, кроме БД не импортирует.

У меня есть файл.sql, который я взял с моего сайта prod EY. Теперь мне нужно импортировать его в мой MySQL локально. Я использую Workbench (так как я новичок в этом), но получаю ошибку ниже.

Пожалуйста помоги?

08:07:43 Восстановление /home/james/Downloads/Futology.sql Запуск: mysql --defaults-extra-file="/tmp/tmpAVeE58/extraparams.cnf" --host=localhost --user=root --port=3306 - набор символов по умолчанию =utf8 --comments <"/home/james/Downloads/Futology.sql" ОШИБКА 1046 (3D000) в строке 22: база данных не выбрана

Операция завершилась неудачно с кодом выхода 1 08:07:43 Импорт /home/james/Downloads/Futology.sql завершен с 1 ошибкой

6 ответов

Решение

Не слишком много использовал Workbench, но это легко сделать из командной строки, посмотрите на это (ниже инструкции phpMyAdmin)

Команда, которую вы ищете:mysql -u #username# -p #database# < #dump_file#

Workbench не знает базу данных (схему), которую вы хотите использовать.

В рабочей среде, при использовании импорта / восстановления данных, чуть ниже, где вы выбираете файл для импорта, он запрашивает "Схема по умолчанию для импорта в"

Просто выберите базу данных (схему), которую хотите использовать, из раскрывающегося списка "Целевая схема по умолчанию". Если у вас еще нет базы данных (схемы), вы можете создать ее с помощью кнопки "Создать".

Это сбивает с толку, потому что MySQL обычно использует термин база данных, а Workbench использует схему. Они значат одно и то же для большинства целей. MySQL "создать схему" и "создать базу данных" - есть ли разница

Просто выбрав вашу целевую схему

Просто выбрав вашу целевую схему

Как я обведен на изображении выше

Подобно ответу Бринна, просто измените ваш файл SQL и вставьте следующую строку в самом верху:

use yourdatabasename

Замена yourdatabasename с базой данных, в которую вы пытаетесь импортировать. Кроме того, эта база данных должна быть уже создана (хотя и пуста), прежде чем импортировать в нее.

Вот еще один вариант, который работал для меня. Я использую MySQL 5.5 на виртуальной машине, которую я настроил для импорта большого дампа MySQL .sql, который содержал: 1). оператор создания таблицы 2). вставить операторы для вставки большого количества данных в таблицу. в командной строке клиента MySQL введите:

use yourdatabasename
source d:\yourpath\yourfilename.sql

для получения дополнительной информации об "источнике" и других командах введите? по подсказке.

Вышеуказанная командная строка верна. Я обнаружил, что должен сделать это при импорте файлов.sql из более старых версий MySQL. Я также обнаружил, что мне нужно отредактировать файл.sql (верхняя часть файла) и задать имя базы данных, совпадающее с именем пустой базы данных, которую вы создаете перед импортом.

Другие вопросы по тегам