2013-02-15 17 views
8

Mam lokalną instalację MariaDB na Windows XP.
Utworzono pustą bazę danych db_y, którą chciałem zapełnić tabelami bazy danych db_x, które wyeksportowałem jako plik zrzutu z instancji MySQL (z HeidiSQL).

Kiedy sprowadziliśmy db_x.sql zrzutu pliku do instancji MariaDB:Jak skopiować bazę danych za pomocą HeidiSQL?

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

mam następujące:

- MariaDB-inst 
    +db_x 
    +db_y 

db_y pozostaje pusty i db_x z wywrotki plik został dodany (db_x to nazwa bazy danych oryginalnej eksportowanej bazy danych).

Co muszę zrobić, aby uzyskać żądaną nazwę bazy danych?
Myślałem, że mogę zmienić nazwę bazy danych w pliku db_x.sql, ale nie chciałem otwierać tak dużego pliku.
Czy mogę zmienić powyższe polecenie importowania w taki sposób, aby zmienić nazwę bazy danych?
Jestem również zainteresowany tego rodzaju rozwiązanie:

CREATE DATABASE y FROM DATABASE x 

Czy coś takiego jest możliwe?
W sieci znajduję rozwiązanie RENAME DATABASE, które nie było zalecane i ALTER DATABASE db_x UPGRADE DATA DIRECTORY NAME , ale szczerze wolałem stworzyć nową bazę danych z nową nazwą. Dzięki za pomoc.

+0

@krshekhar Proszę nie używać formatowania kodu do zaznaczania losowych słów (jak MariaDB lub Windows XP) Jest to przeznaczone tylko dla rzeczywistego kodu. –

+0

@AndrewBarber dzięki za komentarz będę pamiętać. –

+0

Znalazłem twoją składnię importu dziwnego, zwykle jest: mysql -u nazwa_użytkownika -p -h localhost nazwa_bazy_danych

Odpowiedz

12

Rozważyć masz dwie bazy danych: source_db i target_db. Jeśli chcesz skopiować zawartości bazy danych z source_db do target_db należy zrobić jak postępować w heidisql:

  1. prawym przyciskiem myszy na source_db następnie wybierz: bazy danych Eksportuj jako SQL.
  2. Teraz zmień wartość Wyjście i wybierz Baza danych.
  3. Pojawi się pole wyboru, wybierz target_db i to wszystko.

enter image description here

+1

Istnieje sztuczka, aby móc wybrać bazę danych innego serwera: Eksport Clic z serwera DESTINATION. Następnie na lewym panelu zmień zaznaczoną bazę danych, aby wybrać bazę danych SOURCE. Lista zawiera teraz bazy danych DESTINATIONS –

1

Wypróbuj MySQL Workbench. Został stworzony przez MySQL i uznałem go za doskonały do ​​tworzenia kopii zapasowych bazy danych i przywracania jej pod inną nazwą.

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

+0

Dzięki za odpowiedź. Użyłem workbencha, ale zmieniłem go na HeidiSQL. Jednym z problemów z gui-tools jest często znalezienie właściwej kolejności kliknięć. Czasami nie jest to tak intuicyjne, jak zakładano. Gdybym nie znalazł rozwiązania z HeidiSQL, spróbowałbym z workbenchem. – giordano

+0

Powinieneś zaakceptować drugą odpowiedź, następnie – cja

2

Jest to łatwy sposób przenieść bazę danych z jednej instancji do drugiej z heidisql:

  1. Tworzenie db_y bazy danych w instancji y
  2. Kliknij na ikonę zrzutu (lub kliknij prawym przyciskiem). Instancja y powinna zostać aktywowana.
  3. Przy opcji "Wyjście" Wybierz Database
  4. W przypadku opcji "Database" Wybierz db_y
  5. SELECT na opuścił instancji X i bazy danych x
  6. Eksportuj
1

dialogowe eksportu heidisql niedawno dostał nową opcję o nazwie "Max rozmiar INSERT". Kontroluje liczbę rzędów/wiele poleceń INSERT.

Do tego okna dialogowego eksportu jest również documentation.

Powiązane problemy