Migracja bazy danych MySQL Magento
2011-06-10 01:22 przez administrator
Podczas migracji bazy danych Magento na różne serwery MySQL, możesz natknąć się na kilka problemów, które uniemożliwią Ci uruchomienie sklepu na nowym serwerze. Pokażemy jak rozwiązać te najczęściej spotykane oraz uniknąć innych wykonując poprawnie backup bazy danych.
Tworzenie backupu
Jeśli mamy dostęp do konsoli serwera najlepszą metodą na stworzenie backupu jest wykonanie go z linii poleceń:
Jeśli nie mamy dostępu do konsoli możemy się także udać do panelu zarządzania.
System → Narzędzia → Kopie zapasowe
Utworzony backup znajdziemy w katalogu /var/backups/
Przywracanie backupu
konsola:
Problemy przy imporcie:
MySQL zwrócił komunikat:
Problem wynika z różnic wersji serwerów MySQL serwera źródłowego i docelowego.
Z dokumentacji MySQL dowiemy się, iż przed wersją 5.1.10 polecenie USING
używane było w składni wyłacznie przed listowaniem indeksu kolumny.
Wraz z wersją 5.1.10 preferowana pozycja znajduje się za listowaniem
kolumny. Używanie tego polecenia na pozycji przed listowaniem kolumny
nie będzie więc już rozpoznawane w składni przez kolejne wersje MySQL.
Część polecenia SQL ‘USING BTREE’ znajduje się w złym miejscu.
Aby rozwiązać problem należy edytować plik SQL, odnaleźć linijkę:
I zamienić ją na:
Inny przykładowy problem, który możemy napotkać wygląda następująco:
Prawdopodobnie trafiliśmy na niego eksportując bazę Magento przez PhpMyAdmin w jakimś webhostingu. Możemy się go pozbyć w prosty sposób, na karcie exportu w PhpMyAdmin zaznacz opcję (Rys1.):
Rys1. Włączenie opcji w phpmyadmin.
Jeśli wraz ze zmianą serwera pojawiła się nowa domena www sklepu, należy
pamiętać o uaktualnieniu adresu bazowego w bazie danych sklepu.
Wpisy znajdują się w tabeli core_config_data w wierszach
web/unsecure/base_url oraz web/secure/base_url.
Przy wersji Magento 1.5.x wystarczy wykonać następujące polecenia SQL:
update core_config_data set value='http:// adres-sklepu.pl /' where config_id = '5';
Przy innych wersjach Magento numery config_id mogą się różnić.