![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 9.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym synchronizować dane między dwiema tabelami na 2 różnych serwerach. Jedyne, co mi przychodzi do głowy, to podłączenie się do zdalnej bazy, select na bazie, zapisanie wyników do pliku CSV, rozłaczenie się i podłaczenie do lokalnej bazy danych i zassanie danych z pliku do bazki. Czy ma ktoś inny pomysł na bezpośrednie pisanie z bazy do bazy (MySQL)? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Może replikacja Master-slave z opcją "replicate-do-table"
https://dev.mysql.com/doc/refman/5.7/en/rep...licate-do-table |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 9.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Też myślałem o replikacji ale niestety nie ma dostępu do SSH na hostingu, nie mówiąc już o rootcie
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
No to napisz sobie jakiś skrypcik który zrobi Ci dump porcji, i połączy się z drugą bazą (tworzysz usera z dostępem tylko z tego 1 IP), i robisz inserty.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 9.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
No dokładnie tak chce zrobić, podłączenie od zdalnej, zrzucenie do pliku, podłączenie do lokalnej, zassanie. Pytam się, bo myślałem, że można to zrobić lepiej (bez dostępu do shella i bez roota)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
No toć mówię że na serwerze źródłowym ustanowić 2 połączenia i przepychać. bez żadnych plików.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 9.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
No ale jak to połączyć, bo albo mam handler do zdalnego, który nie działa lokalnie albo na odwrót
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 9.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tyle, to ja wiem. Tylko powiedzmy, że loguje się do zdalnej bazy i jak mam zrobić INSERT into local table SELECT from remote table?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie, musisz pobrać dane i wygenerować sobie Insert statement.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 9.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
A no właśnie. Czyli albo do tablicy albo do pliku (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 33 Dołączył: 8.09.2014 Ostrzeżenie: (0%) ![]() ![]() |
kiedyś robiłem coś takiego:
https://dev.mysql.com/doc/refman/5.7/en/fed...escription.html trochę czasu minęło, więc dokładnie nie pamiętam jakie były z tym problemy i wymagania tego rozwiązania, poza tym że wolno działało z joinami pomiędzy dwoma serwerami. Ale do sciągania całej tabeli może by wystarczyło |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
No toć mówię że na serwerze źródłowym ustanowić 2 połączenia i przepychać. bez żadnych plików. Powodzenia przy przenoszeniu dużej ilości rekordów. My w pracy stosujemy myk z wykorzystaniem podmontowqnego katalogu. Obie maszyny mogą do niego zarówno pisać jak i z niego czytać. Generalnie cały myk polega na select into outfile oraz load data infile. Działa to mega szybko. Jeśli nie możesz mieć sztuczki z katalogiem to sadze ze i tak szybciej będzie zrzucać dane z tabeli źródłowej do pliku, przesyłać go po ftp, po czym ładować do tabeli docelowej. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 9.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jedna maszyna jest za granicą na jakimś hostingu więc może być ciężko.
Generalnie nie mam dużej ilości danych do przeniesienia, poza tym zawsze sprawdzam po id, co jest już u mnie i przenoszę tylko to, czego jeszcze nie mam. pliki mają co najwyżej kilkadziesiąt kilobajtów (IMG:style_emoticons/default/smile.gif) Dzięki za pomoc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.08.2025 - 03:34 |