Импорт с использованием MySQL WorkBench ... ошибка ОШИБКА 1046 (3D000) - PullRequest
6 голосов
/ 26 апреля 2011

Сценарий: создание окружающей среды 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 --default-character-set = utf8 --comments <"/ home / james / Downloads / Futology.sql "ОШИБКА 1046 (3D000) в строке 22: база данных не выбрана </p>

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

Ответы [ 6 ]

38 голосов
/ 11 ноября 2012

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

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

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

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

14 голосов
/ 26 апреля 2011

Слишком часто не используется Workbench, однако это достаточно просто сделать из командной строки. this (ниже инструкций phpMyAdmin)

Ваша команда: mysql -u #username# -p #database# < #dump_file#

10 голосов
/ 24 июня 2016

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

Simply by choosing your target schema

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

7 голосов
/ 02 октября 2012

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

use yourdatabasename

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

4 голосов
/ 30 марта 2012

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

use yourdatabasename
source d:\yourpath\yourfilename.sql

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

1 голос
/ 09 августа 2011

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

...