Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> migracja bazy danych
mihmih
post 16.01.2020, 09:42:25
Post #1





Grupa: Zarejestrowani
Postów: 125
Pomógł: 1
Dołączył: 4.06.2015

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


Witam,

chciałbym zrobić migrację bazy danych MySql na nowy serwer. Z bazą w tej chwili jest połączone kilka prymitywnych aplikacji na innych komputerach poprzez darmowy program LibreOffice Base. W bazie jest około 300 tabel, około pół miliona rekordów w sumie, zaś w Base są formularze i zapisane kwerendy, które są wykorzystywane jako źródła danych w formularzach. Z racji tego, że jeszcze nigdy tego nie robiłem chciałbym spytać o parę rzeczy:

1. Czy jest się czego obawiać? smile.gif Zwrócić na coś szczególną uwagę?
2. Czy jeśli na starym serwerze mam wersję 5.6, to mogę na nowym serwerze zainstalować np. 7.X? Lub MySql 8?
3. Czy nowa wersja MySql może mieć jakiś negatywny wpływ na te kwerendy zapisane lokalnie w LibreOffice?
4. Aplikacja korzysta również z wielu makr napisanych w Basicu w tym LibreOffice, czy będą one działać dalej jeśli uaktualnię wersję MySql?
Go to the top of the page
+Quote Post
nospor
post 16.01.2020, 10:04:03
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




ad3) Moze miec wplyw. Najnowsze wersje mysql sa bardziej nastawione na standard SQL i typowe skroty ze starego mysql moga nie dzialac, np zapytania z group by, ktore pobeiraja dane w select z pol, ktore nie byly grupowane


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
trueblue
post 16.01.2020, 10:16:07
Post #3





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Cytat(nospor @ 16.01.2020, 10:04:03 ) *
Najnowsze wersje mysql sa bardziej nastawione na standard SQL i typowe skroty ze starego mysql moga nie dzialac, np zapytania z group by, ktore pobeiraja dane w select z pol, ktore nie byly grupowane

A to nie jest kwestia włączenia/wyłączenia wartości ONLY_FULL_GROUP_BY dla zmiennej sql_mode?


--------------------
Go to the top of the page
+Quote Post
nospor
post 16.01.2020, 10:27:53
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Zapewne tak. Sygnalizuje jednak, ze zmiana na najnowsza wersje da pare problemow - takie bylo przeciez pytanie w pkt3 smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mihmih
post 16.01.2020, 10:41:41
Post #5





Grupa: Zarejestrowani
Postów: 125
Pomógł: 1
Dołączył: 4.06.2015

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


Dziękuje bardzo za podpowiedzi. Ktoś może się wypowie na pozostałe punkty?

I czy reklamowana na stronie wersja 8 MySql rzeczywiście przyspieszy działanie bazy dwukrotnie?smile.gif
Go to the top of the page
+Quote Post
Pyton_000
post 16.01.2020, 13:48:53
Post #6





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

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


Mysql za 80% zrobi Ci kuku. Bezpiecznie jest przejść na 5.7 z wyłączonym Strict dla zachowania kompatybilności.

Co do kompatybilności Libre -> mysql trudno mi się wypowiedzieć. Zależy jak bardzo Chcesz kombinować i jak bardzo ważna jest ta apka w Libre.

Możesz sobie zrobić dump bazy jako kopia i postawić nową wersję np. MySQL 8 i zaimportować (wpierw może gdzies loklanie) i sprawdzić czy działa.

Możesz też postawić ProxySQL i przepiścić przez niego ruch do Mysql wtedy możesz postawić sobie obok MySQL i użyć mirroringu zapytać i pchać je do 8. Będziesz widział czy coś się wywala.

Rozwiązań jest wiele, wszsytko zależy od tego jak krytyczną infrastrukturę masz i jak bardzo chcesz się bawić.
Go to the top of the page
+Quote Post
mihmih
post 14.04.2020, 21:21:22
Post #7





Grupa: Zarejestrowani
Postów: 125
Pomógł: 1
Dołączył: 4.06.2015

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


Dzięki za podpowiedzi... A więc zainstalowałem na nowym serwerze MySql 8, dostałem kopię bazy danych ze starego serwera i mogę sobie porobić testy i sprawdzić co się stanie smile.gif

Nigdy nie robiłem takiej migracji...kopię bazy danych dostałem w formie kilkuset plików, są to rozszerzenia frm, ibd, trg, trn, każdego po kilkadziesiąt i jeden plik opt. Aby wykonać import powinien w workbenchu wejść w database-> migration wizard i tam się to robi? Czy w innym miejscu?

Migracja jako tako się udała smile.gif wszystkie formularze, raporty, kwerendy działają, dane się skopiowały, jedynie musiałem zmienić w libreoffice connector javy z 5.x na 8.x

Oto na jakie problemy napotkałem:

- przy eksporcie z mysql5.7 do mysql8 nie chciały się zaimportować triggery. Musiałem je półautomatycznie wywołać w nowej bazie
- w nowej bazie triggery mam ustawione do zapisywania kiedy wiersz był dodany do tabeli i kiedy został ostatnio zmieniony. Tu jest taki dziwny błąd że teraz jak coś zmieniam to data zmiany raz mi wyskakuje jako czas letni, a raz jako czas zimowy. To znaczy przy niektórych tabelach data zmiany jest o godzinę wcześniejsza. Triggery do każdej tabeli były generowane tak samo...

I największy błąd który martwi mnie najbardziej

- dane do bazy są wprowadzane przez Libreoffice Base, taki ubogi access. Połączony jest on z bazą mysql przez connector java 8.0.11. Niezależnie czy dane są wprowadzane przez formularz, przez tabele czy przez kwerende - jeżeli dodaje/zmieniam jakąkolwiek datę do bazy, to do MySqla zapisuje się data o jeden dzień wcześniejsza. Jeżeli robię insert bądź update z poziomu workbencha, to wszystko z datami jest ok. Niby w internecie są podobne problemy, ale i tak nie wiem jak do tego podejść, podejrzewam że właśnie z tym connectorem może być coś nie tak, a może należy coś ustawić w workbenchu albo pliku ini?

Z góry dzięki za wszelką pomoc.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 23:17