Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> polaczyc dane z dwoch baz danych MySQL
robert1974
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


czesc.

mam taka sytuacje:
tabele1 w mysql bazie1 z 50.000 nazw produktow, i przybywa 10 dzinnie.
tabele2 w mysql bazie2
baza1 i baza2 na tym samym serverze.

jak najlepiej (3 razy dziennie) kopiowac do tabeli2 te produkty z tabeli1 ktorych jeszcze brakuje?
i to nie tyle chodzi mi o sam SQL, ale raczej jak to zrobic by mialo sens?

skryptem PHP? polaczyc do bazy1, przeczytac dane, polaczyc sie bazy2 i wstawiac te wiersze ktorych jeszcze nie ma?

czy moze w PHP ale jakos jednym zapytaniem ktore potrafi odniesc sie do tabel z dwoch baz?

czy moze jakos na poziomie samego MySQL?

inaczej?

dziekuje za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Wazniak96
post
Post #2





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

Ostrzeżenie: (0%)
-----


1. Dodajesz date dodania rekordu
2. Zczytujesz dane z tego dnia(lub pobierasz date ostatniego rekordu z bazy nr2 i na podstawie jej pobierasz)
3. Generujesz sobie inserty
inserta
4. Wykonujesz inserta do bazy nr2

Druga opcja: wykonujesz kopie bazy w godzinach rannych bo najmniejszy ruch i wygrywasz od nowa. Ale to już takie drastyczne

Tak wgl jaki to ma sens?
Go to the top of the page
+Quote Post
redeemer
post
Post #3





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


A może replikacja?
Go to the top of the page
+Quote Post
robert1974
post
Post #4





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


do zabawy MySQL uzywam narzedzia HeidiSQL. Cos innego polecicie?

a da sie jakos wyexportowac 1 tabele tylko (z bazy1) by zaimportowac ja do bazy2, bo to by mi pozwolilo przeniesc pierwsze 50 000 rekordow.

co do kopiowania przyrostow, ktorych jest okolo 10 dzinnie, powinno byc OK tak jak piszesz, czyli:
1. php lacze sie do bazy1 i wczytuje nowo dodane tam wiersze
2. php lacze sie do bazy2 i probuje je dodac (insert po insercie) jesli nie istnieja jeszcze. Moga juz istniec, bo akurat jest tak, ze w bazie 2 tez nowe rekordy przybywaja czasem.

Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Heidisql ma opcję Exportowania do różnych baz, serwerów itp.

Robisz coś takiego z zaznaczeniem INSERT IGNORE i po kłopocie.
Go to the top of the page
+Quote Post
robert1974
post
Post #6





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 2.11.2014

Ostrzeżenie: (0%)
-----


Zakodowalem w PHP.

Dziala szybko, nawet przy tej ilosci rekordow.

Dzieki wszystkim za odpowiedzi. Biore sie za dalsze testy.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:49