2013-02-15 2 views
8

У меня есть локальная установка MariaDB на Windows XP.
Я создал пустую базу данных db_y, которую я хотел заполнить таблицами базы данных db_x, которые я экспортировал в качестве дампа-файла из экземпляра MySQL (с HeidiSQL).

Когда я импортировал дамп-файл db_x.sql в экземпляре MariaDB:Как скопировать базу данных с помощью HeidiSQL?

c:\ > mysql -u root -h localhost -p db_y < "X:/archive/db_x.sql" 

я получил следующее:

- MariaDB-inst 
    +db_x 
    +db_y 

db_y остается пустым и db_x из самосвала файла был добавлен (db_x - это имя базы данных исходной базы данных, которую я экспортировал).

Что мне нужно сделать, чтобы получить нужное имя базы данных?
Я думал, что могу изменить имя базы данных в файле db_x.sql, но я не хотел открывать такой большой файл.
Могу ли я изменить команду импорта выше, чтобы изменить имя базы данных?
Я также заинтересован в такого рода решения:

CREATE DATABASE y FROM DATABASE x 

ли что-то подобное возможно?
В сети я нашел решение RENAME DATABASE, которое не рекомендовалось, и ALTER DATABASE db_x UPGRADE DATA DIRECTORY NAME , но, искренне, я предпочел создать новую базу данных с новым именем. Спасибо за любую помощь.

+0

@krshekhar Пожалуйста, не используйте форматирование кода для выделения случайных слов (например, MariaDB или Windows XP). Это предназначено только для действительного кода. –

+0

@AndrewBarber спасибо за ваш комментарий Я буду иметь в виду. –

+0

Я нашел ваш синтаксис импорта странным, как правило, он: mysql -u username -p -h localhost имя_базы_файла

ответ

12

Рассмотрим у вас есть две базы данных: source_db и target_db. Если вы хотите скопировать содержимое базы данных из source_db в target_db вы должны делать, как следовать в HeidiSQL:

  1. правой кнопкой мыши на source_db затем выберите: Экспорт базы данных в SQL.
  2. Теперь измените значение Выход и выберите База данных.
  3. Появится окно выбора, выберите target_db и все.

enter image description here

+1

Есть хитрость, чтобы иметь возможность выбрать другую базу данных сервера: Clic export с сервера DESTINATION. Затем на левой панели измените проверенную базу данных, чтобы выбрать базу данных SOURCE. Список теперь содержит базы данных DESTINATIONS –

1

Попробуйте Workbench MySQL. Это сделано MySQL, и я нашел отличным для резервного копирования базы данных и восстановления ее под другим именем.

http://dev.mysql.com/downloads/workbench/

+0

Спасибо за ответ. Я использовал workbench, но я перешел на HeidiSQL. Одной из проблем с gui-инструментами является поиск правильного клика. Иногда это не так интуитивно, как предполагалось. Если бы я не нашел решение с HeidiSQL, я бы попытался с помощью workbench. – giordano

+0

Вы должны принять другой ответ, а затем – cja

2

Существует простой способ передать базу данных из одного экземпляра к другому с HeidiSQL:

  1. Создание базы данных db_y в экземпляра у
  2. Нажмите на иконку сброса (или щелкните правой кнопкой мыши). Экземпляр y должен быть активирован.
  3. В опции «Output» Выбор базы данных
  4. На опции «База данных» выбрать db_y
  5. Выберите на левой экземпляра х и базы данных х
  6. Экспорт
1

Диалог экспорта HeidiSQL недавно появился новый пункт под названием "Max ВСТАВИТЬ размер". Это контролирует количество строк в массивах/нескольких командах INSERT.

Кроме того, для этого диалогового окна экспорта имеется documentation.

Смежные вопросы