użyj dwóch połączeń z bazą danych i przeczytaj strukturę tabeli z jednego i uruchom to zapytanie w drugim
Dau,
Czy te bazy danych znajdują się w oddzielnych instancjach mysql, czy na tej samej? Replikację można skonfigurować w różnych instancjach, jeśli jest to proces ciągły.
Nick,
@Nick Moje bazy danych znajdują się w różnych instancjach mysql. Czy mógłbyś wyjaśnić, jak to skopiować?
johk95,
Odpowiedzi:
218
Jeśli chcesz skopiować tabelę z jednej bazy danych do innej, możesz po prostu wykonać poniższe czynności.
Świetne rozwiązanie, jeśli tabela nie ma ograniczeń związanych z kluczem obcym. Użyłem tego do zrobienia kopii całej bazy danych zamiast tylko jednej tabeli. W tym celu polecam użycie polecenia mysqldump.
thorne51
MySQL może teraz przechowywać dane tabeli w pojedynczych plikach (a pliki frm są również dla każdej tabeli). Takie podejście bez wątpienia zadziałałoby, ale w przypadku ogromnych baz danych jest powolne. Czy jest może inny sposób?
Alex Kovshovik
1
Działa to tylko wtedy, gdy bazy danych znajdują się na tym samym serwerze.
zgr024
10
lub po prostu UTWÓRZ TABELĘ db2.table SELECT * FROM db1.table w MySQL 5
Odpowiedzi:
Jeśli chcesz skopiować tabelę z jednej bazy danych do innej, możesz po prostu wykonać poniższe czynności.
źródło
lub po prostu UTWÓRZ TABELĘ db2.table SELECT * FROM db1.table w MySQL 5
źródło
W BASH możesz:
źródło
UTWÓRZ TABELĘ db2.table_new JAKO WYBIERZ * FROM db1.table_old
źródło
Jeśli chcesz tylko skopiować Strukturę, po prostu użyj
CREATE TABLE Db_Name.table1 LIKE DbName.table2;
Ps>, który nie skopiuje schematu i danych
źródło
po prostu użyj -
CREATE TABLE DB2.newtablename SELECT * FROM DB1.existingtablename;
źródło
W linii poleceń:
Spowoduje to skopiowanie tabeli wewnątrz SCHEMA na hoście lokalnym do SCHEMA2 na innym hoście.
localhost i otherhost to po prostu nazwa hosta i mogą być takie same lub różne.
źródło