Migracja z Krasnalowego MySql do MySql 5.1

0

Witam, chciałem się spytać czy ktoś z Was przenosił bazę ze starego MySql do nowego 5.1 ?

Miałem bazkę na MySql (nie pamiętam wersji) instalowanym wraz z Krasnalem (apache + php + MySql), ale instalowała się gdzie indziej, do c:\usr\MySql i tam w katalogu Data miałem swoją bazę danych. Natomiast w przypadku 5.1 do którego katalogu mam przekopiować bazę? Nie ma tam żadnego katalogu Data. Czy wystarczy, że go utworzę i tam przekopiuje dane, czy coś tam pozmieniali znowu?

Nie mogę sprawdzić, bo nie mogę też wystartować serwera MySql, nie wiem jeszcze dlaczego.

0

Przenoszenie plików bazy danych i liczenie, ze silnik sie polapie to delikatnie rzecz biorac: naiwnosc. Do tego w roznych wersjach... Wyeksportuj sobie baze ze starej wersji, np. phpMyAdminem, bo pewnie tez jest pod reka i zaimportuj do nowej. Proste.

0

Na nieszczęście zanim spostowałeś wywaliłem wszystkie Krasnale i MySql, które miałem zostawiając katalog z bazą danych tylko. Co teraz najlepiej zrobić? Znów instalować Krasnala?

0

No to sobie nie pomogles. Zainstaluj ta sama wersje mysqla, w ktorej tworzone byly bazy. Stworz baze/bazy o takich samych nazwach i wylacz mysqla. Nadgraj pliki baz tymi swoimi. Wlacz usluge z powrotem i sprawdz czy sa dane. Wtedy eksportuj to do jakiejs bardziej uniwersalnej postaci, np. skryptu tworzacego strukture i uzupelniajacego dane.

0

Na razie zainstalowałem Krasnala 2.7 znowu i wystarczyło tylko przekopiować bazę danych.

Chodzi o to, że robię instalator mojej aplikacji i MySql-a, a nie znalazłem tej wersji MySql-a z którą powstał krasnal (bo nie wiedziałem jaka to) a tak niepoważnie dawać klientowi całego Krasnala. Jak to rozwiązać.

Na razie przyszedł mi do głowy tylko pomysł instalowania MySql 5.1 ale z tym mam kłopoty. Nie wiem też jak wyeksportować tą bazę z poziomy WinMySqlAdmin

0

Czasem wystarczy, czasem nie wystarczy. Taki mssql na przyklad musi sobie taka baza zaczytac do wlasnej bazy informacji o innych bazach. Jesli zmieni sie tez sposob przechowywania danych w pliku z wersji na wersje to tez nie pojdzie. Generalnie zalozenie, ze wewnetrzna struktura pliku bazy sie nie zmienia, ze silnik korzysta z wszystkich plikow w swoim katalogu, ze pliki bazy to wszystko czego potrzebuje, nie jest poprawne i mozna sie przejechac.
Nie znam WinMySqlAdmin, ale jesli jest sensownym narzedziem to powinien miec mozliwosc wygenerowania skryptu bazy, tj. skryptow zakladajacych strukture bazy (create table, view, trigger, itp.) i skryptow uzupelniajacych dane w tabelach, znaczy sie insertow. Moze tez miec jakis swoj format, ktory umozliwi takie przeniesienie. Jednak jesli chcesz to zrobic na potrzeby instalki, to najbardziej sensowny bedzie wygenerowanie skryptu, bo pozniej mozesz to czymkolwiek wykonac, np. wlasnie instalatorem.

0

Dobra stara technika mysqldump i wczytanie mysql<. I nawet da sie ladnie ustawic kodowanie znakow bo w innych narzedziach nie zawsze jest.

BTW dolaczanie mysql'a do instalacji chyba lamie licencje (o ile ktokolwiek jest sie wstanie polapac na jakiej licencji jest mysql ... dawna mysql gpl+komercyjna -> drobne modyfikacje | otwarcie licencji + gpl + kom. | wykup przez oracle gpl + komercyjna). Wszedzie jakies drobne prawne dodatki. Nawet chyba pisanie aplikacji bez mozliwosci zastosowania innej bazy niz mysql to lamanie licencji GPL i trzeba komercyjna, ale moze sie cos zmienilo ... jak wspomnialem balagan na tej stronie straszny

0

Wiesz, nie wiedziałem, że za MySql trzeba płacić w celach komercyjnych. W końcu byłem przyzwyczajony, że wirus GPL dotyczył tyko obcych kodów zawartych w moim programie.

Jaką mam alternatywę? Jest coś darmowego czym z powodzeniem i łatwością zastąpię MySql w moim kodzie i poza nim?

0

Np. SqlLite, czy MSSQL Express.

0

Ja nie wiem czy na 1005 trzeba placic ich licencja jest tak pogieta, ze widzialem setki opini na stronach ... jak ktos tutaj wie, chociazby na 90%, jak to jest niech pisze.

Alternatywa:

  1. zastosowac ODBC, aplikacja jest niezalezna
  2. PostgreSQL - sa skrypty, ktore powoduja ze przypomina MySQL - licencja BSD
  3. FireBird (niestety ta i PostgreSQL sa troche bardziej toporne w instalacji - ale to chyba jedyna zaleta mysql'a)
  4. MSSQL - minus (a moze plus:) ) serwer windowsowy
  5. SQLite - jak baza nieduza
  6. .... i kilka innych

//----
BTW
jak to jest z tym GPL to tez nie wiadomo bo wychodzi, ze mozna takie pakiety ciagnac za soba (np. zrobic z nich biblioteki, uzyc kodu etc.) chyba taka opinia jest do jednego z apkietow (joomla ?!). Jedyne co napisali w tym tlumaczeni, ze etyczne jest powiadomienie usera, ze moze pobrac to za darmo.

Swiat licencji staje sie tak powalony ze i tak nikt tego nie wie a na koncu liczy sie i tak kto ile placi za prawnika (a chyba najlepiej nib byc)
gdzie opisano co mozna na licencji GPL.

0

Mam kod dla .NET. Czy w wypadku SqlLite połączenie będzie równie proste co w przypadku MySqlConnectora, który instalowałem w systemie a później dodawałem referencję do biblioteki dll w Visual Studio?

I czy SqlLite jest darmowe i czy mogę sprzedawać moją aplikację klientom wraz z nią?

0

Tak sa providery do SQLite i praktycznie w obecnej chwili nie trzeba zmieniac kodu (chyba drobne roznice dla DDL)

///
swoja droga jest nHibernate i nie trzeba sie przywiazywac do bazy a user sobie moze sciagnac mysql'a na licencji GPL (podobnie jak dla ODBC)

0

Miało być bez większych zgrzytów, ale mam mimo wszystko jedno pytanie, bo nie znalazłem wciąż w necie.
Jaki jest w SQLite odpowiednik MySql-owej funkcji DATE_FORMAT(date, "%d/%m/%y") ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.