Narzędzie do szybkiej synchronizacji baz danych (MySQL)

0

Szukam czegoś prostego, gdzie:
podaję do bazy1: host, nazwę bazy, login, hasło
do bazy2: to samo

następnie klikam sobie coś - i to zeruje mi bazę2 i wstawia w nią tabelki z bazy1

coś takiego poszukuję do synchronizacji bazy na localhoście z produkcją.

najlepiej darmowa appka, bo płacić za taką pierdółkę (mógłbym sam zrobić, ale czasu szkoda na wynajdywanie koła) nie widzę sensu

0

Przypuszczam, że chodzi o coś takiej postaci? (Bash, mysqldump i mysql)

mysqldump -u Użytkownik1 -pHasło1 -h Hostname1 --add-drop-database --databases BazaDanych1 > copy.sql && mysql -u Użytkownik2 -pHasło2 -h Host2 < copy.sql && rm copy.sql
0

@Coldpeer: Jestem pewien. Ogólnie raczej chciałbym rozwiązanie działające w obie strony, ale w przypadku gdyby chodziło o zreplikowanie bazy z localhosta na zdalnym serwerze - to zerowanie bazy nie będzie problemem (bo generalnie chodzi mi o "testowe" strony i tak).

@Ktos: A coś dla Winzgrozy? A druga rzecz - DROP DATABASE odpada - na zdalnym nie mam opcji tworzenia/usuwania samych baz - tylko tabelek. Trzeba więc dropnąć wszystkie tabelki i zrobić import.

0

W takim razie:

mysqldump -u Użytkownik1 -pHasło1 -h Hostname1 BazaDanych1 > copy.sql
mysql -u Użytkownik2 -pHasło2 -h Host2 < copy.sql
del copy.sql

W postaci 3 linijek w pliku .cmd czy .bat. Wymaga jedynie instalacji serwera MySQL na lokalnej maszynie, bo to instaluje tez obydwa narzędzia. Także pod Windows, wymaga oczywiście dodania odpowiedniego katalogu do PATH.
Jedyny problem jest taki, że mysqldump generuje DROP TABLE IF EXISTS dla każdej tabeli - więc jeśli masz nadmiar tabeli w drugiej bazie, to nie usunie nadmiarowych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1