Tytuł: [SOLVED] Problem z importem bazy danych Wiadomość wysłana przez: DavO 14.12.2009 14:47:22 Mam problem z importem bazy danych na inny serwer.
Miałem forum na hostingu www "A" i chcę przenieść baze danych na inny hosting www "B" ponieważ zawiesili mi forum z powodem "mess spam". Przy imporcie bazy danych przez phpmyadmin wyskakuje mi taki błąd: Daje błąd w notatniku, ponieważ jest za długi aby napisać go w poście. http://fullserver.xaa.pl/blad.txt (http://fullserver.xaa.pl/blad.txt) Prosze o pomoc. Tytuł: Odp: Problem z importem bazy danych Wiadomość wysłana przez: Draco 14.12.2009 18:30:35 Quote: [select] MySQL zwrócił komunikat: Dokumentacja #1062 - Duplicate entry '48' for key 1 Zdublowany wpis ... dlaczego kilka razy wrzucasz to samo? Wygląda na to, że po imporcie już zapisało ci wpisy tutaj jak widać u Ciebie z smf_attachments. A ponieważ chcesz wrzucić przez jeszcze raz to samo to dostajesz błąd, że taki wpis już istnieje. Najlepiej wrzuć w załączniku cały plik .sql to go przejrze co jest w nim nie tak ... Tytuł: Odp: Problem z importem bazy danych Wiadomość wysłana przez: DavO 14.12.2009 20:13:31 Wysłałem Ci prywatną rozmowe, w ktorej napisalem zródło z ktorego możesz ściągnąć baze danych.
Tytuł: Odp: Problem z importem bazy danych Wiadomość wysłana przez: Draco 14.12.2009 21:56:53 Ogólnie przejrzałem plik sql i wygląda jakby było wszystko ok. Spróbuj po kolei:
1. w phpmyadmin usuń obecną bazę danych 2. potem utwórz ponownie nową "czystą" bazę 3. spróbuj wgrać ponownie całą bazę 4. jeżeli to nie pomoże zastosuj ponownie pkt. 1 i 2 5. wgrywaj pojedynczo do bazy dane poprzez zapytanie sql czyli: od INSERT INTO do końca czyli do " ; " np. GeSHi -› Code: [select] INSERT INTO `smf_attachments` (`ID_ATTACH`, `ID_THUMB`, `ID_MSG`, `ID_MEMBER`, `attachmentType`, `filename`, `file_hash`, `size`, `downloads`, `width`, `height`) VALUES (48, 0, 0, 45, 0, 'avatar_45.png', 'dc7f91698ff3764e86b7d6868c1d87eeef758411', 6667, 490, 65, 65), (2, 0, 0, 6, 0, 'avatar_6.png', 'e1d847f74131e239a12dd690faa7bf5cb3194997', 11094, 166, 65, 65), (21, 0, 0, 1, 0, 'avatar_1.png', '0c55d30d1e138c7692b922086ccf7313eed74276', 8521, 1828, 65, 65), (54, 0, 0, 24, 0, 'avatar_24.png', '0eba3d344caaa06851e8ce71500b2ce277580e0e', 4592, 435, 65, 43), (6, 0, 0, 8, 0, 'avatar_8.png', 'bbdba92c16d4e1f6c229626ef84e08188b95b71d', 6493, 1407, 48, 65), (12, 0, 0, 28, 0, 'avatar_28.png', '2516fbefae1ad2ea962ffab944aec292be573684', 11012, 130, 65, 65), (11, 0, 0, 2, 0, 'avatar_2.png', 'ab6b42baeff2c845896a539122fa414a0a8d0d8e', 6116, 2352, 65, 42), (13, 0, 0, 13, 0, 'avatar_13.gif', '09d2deaa4957b72150218447650bf358b9377ebf', 2695, 985, 50, 50), (19, 0, 0, 50, 0, 'avatar_50.png', 'd8cf1b9e033647529e705fefa7efdff98d7a2528', 9720, 1639, 55, 65), (22, 0, 0, 42, 0, 'avatar_42.png', '62d28bd0dc0e4b850b132eaffb335d50198ac314', 8139, 1096, 65, 48), (30, 0, 0, 57, 0, 'avatar_57.png', '094a3330eaded008cda7eac14910632649697e13', 6517, 1086, 65, 54), (25, 0, 0, 67, 0, 'avatar_67.png', 'e525246e2b1472503e49b5850a33315d0698af11', 9455, 1011, 65, 65), (28, 0, 0, 27, 0, 'avatar_27.png', '56433c77b9ed0da40573d72d18c554f9a9d99811', 8443, 453, 56, 65), (52, 0, 0, 72, 0, 'avatar_72.png', '96a9161485f5e108262ffff17a14a778ce2481d5', 8462, 290, 65, 65), (34, 0, 0, 84, 0, 'avatar_84.png', 'f91f248650d1e95c5669f571bc4ea1fe9777d0de', 8054, 488, 65, 48), (39, 0, 0, 83, 0, 'avatar_83.png', '1ea8898ecb2025ba86ebe2400731f41ffe79723c', 5396, 206, 65, 48), (45, 0, 0, 120, 0, 'avatar_120.png', 'b3c1ba496f308edb3e93d398ffb41e8857133d0f', 1265, 207, 65, 32), (49, 0, 0, 139, 0, 'avatar_139.png', '480a7add0db0824c6084e33294ed9ed108cb6b29', 8772, 169, 50, 65), (47, 0, 0, 131, 0, 'avatar_131.png', '085fcfcbf85a8b2ae47753ab27e035d4981dd83a', 7127, 128, 65, 46), (50, 0, 0, 145, 0, 'avatar_145.png', '72e6cf72b5e10778489d67adc9a6ad949ebf2e77', 3708, 205, 65, 63), (55, 0, 0, 163, 0, 'avatar_163.png', 'c147e2f67297f3a8c0be8610d38f666a221353d1', 1, 278, 0, 0); i ponownie nastepne zapytanie: GeSHi -› Code: [select] INSERT INTO `smf_ban_groups` (`ID_BAN_GROUP`, `name`, `ban_time`, `expire_time`, `cannot_access`, `cannot_register`, `cannot_post`, `cannot_login`, `reason`, `notes`) VALUES (1, 'Brzydki nick :)', 1258422216, NULL, 1, 0, 0, 0, '', ''), (20, 'alan20', 1259691315, NULL, 1, 0, 0, 0, 'wypierdalaj dzieciaku', ''), (12, 'RoGaL hostban', 1258525299, NULL, 1, 0, 0, 0, '', ''), (5, 'Aravind hostban', 1258524328, NULL, 1, 0, 0, 0, '', ''), uiiiiiiiiii (19, '12letnik kid', 1259691276, NULL, 1, 0, 0, 0, '', ''), (8, 'KoX hostban', 1258524621, NULL, 1, 0, 0, 0, '', ''), (9, 'Siara hostban', 1258524885, NULL, 1, 0, 0, 0, '', ''), (10, 'COBRA hostban', 1258524947, NULL, 1, 0, 0, 0, '', ''), (11, 'Snitch hostban', 1258525227, NULL, 1, 0, 0, 0, '', ''), (13, 'PTS CREW hostban', 1258570827, NULL, 1, 0, 0, 0, '', ''), (14, 'pts_crew', 1258570948, NULL, 1, 0, 0, 0, '', ''), (15, '87-205-95-184.adsl.i', 1258571102, NULL, 1, 0, 0, 0, '', ''), (16, 'KURWA HOSTBANED', 1258585792, NULL, 1, 0, 0, 0, '', ''), (17, '..::Darius::..', 1258992751, NULL, 1, 0, 0, 0, '', ''), (21, 'ssij', 1260105629, NULL, 1, 0, 0, 0, '', ''), (22, 'FajnaNazwa', 1260105688, NULL, 1, 0, 0, 0, '', ''), (23, 'FajnaNazwa hostban', 1260105742, NULL, 1, 0, 0, 0, '', ''), (24, 'ssij hostban', 1260105799, NULL, 1, 0, 0, 0, '', ''); i tak dalej jeżeli wystąpi błąd spisz go sobie i opuść daną tabelę ... te z errorami zrobi się na końcu. Plik sql otwórz np. notatnikiem i wgrywaj każdą tabelę po kolei na zasadzie kopiuj-wklej Wiem, że trochę lamerskie rozwiązanie ale z doświadczenia mojego stosowałem właśnie w ten sposób kiedy też baza wywalała mi errory .. wgrywałem tabelkę po tabelce a te z errorami rozwiązałem na końcu i wszystko gra ;) Tytuł: Odp: Problem z importem bazy danych Wiadomość wysłana przez: ProXy 14.12.2009 23:37:25 Nom tez robie podbnie jak kolega ale jak baza ma powyzej 30 Mb to odpada :) to juz lepiej sie pochlastać. Jak amsz duzo czasu to exportuj tabele po tabeli i importuj na 2 serwerze jako zapytanie SQL. Jezeli baza jest dosyc mała to wyeksportuj do pliku spróbuj wgrac jak wyszkoczy bład skpisz w jakiej tabeli odszukaj wpis o tworzeniu tej tabeli oraz o danych dodawanych do niej wytnij z całego pliku i wklej do nowego notatnika . Pozostała częśc zaimportuj . Na samym końcy stwórz ta tabele z błedem i zobacz który wpis z damymi jest duplikowany :) i go usun po czym zaimportuj reszte bazy.
Tytuł: Odp: Problem z importem bazy danych Wiadomość wysłana przez: roco 14.12.2009 23:44:06 Witam! :)
Tak to co proponuje Draco, to dość żmudne, gł. robi się tak, "gdy brak innych możliwości". Skrypt SMF ma już takę konstrukcję, że nie daje się nadpisać już istniejących tabel, chyba, że pokombinowaliśmy przy Exporcie. Ja instaluje dużo for, przenoszę, wgrywam ponownie bazy itp itd.. Mam wyrobiony odruch, że dodatkowo, po za wszystkim exportuje po tabeli, to na wszelki słuczaj, ale dzięki temu niejednokrotnie zaoszczędziłem sobie pracy.. Nie idzie w normalnym trybie nadpisywać istniejących tabel i jeśli chodzi o jedną tylko, to mając baze w kawałkach - to żaden problem. Jeśli nie ma w kawałkach, to tworzymy na docelowym hostingu, (najlepiej!), obok już istniejącej bazy, - nową, pustą, z userem i keyem, oraz prawami ustawionymi na All. Ustawiamy od razu kodowanie takie jak mamy w naszej oryginalnej bazie, a natępnie wgrywamy tę oryginalną (Import), do nowo utworzonej, optymalizujemy i po kawałku exportujemy. Owszem to też trochę pracy, ale moja praktyka mi to właśnie podpowiada, to są tzw. "zdrowe odruchy" Okay. Masz w nowym miejscu bazę, wygląda na to, że chciałeś zdublować już istniejące wpisy, pojedyńczo i tak nic to nie przyniesie, ponieważ tabela załączników jest pierwsza na liście, (smf_attachments) i nawet, kiedy uda Cię się ją "naprawić" to przyjdzie kolejna tabelka z listy i będzie to samo.... Zrób kopię bazy (export), zaznacz tę jedną tabelkę i z rozwijanego meny na dole wybierz --> "wyczyść zaznaczone", następnie spróbuj wgrać (import świeżasa), jeśli nie pomoże to nie obcyndalaj sie tylko zaznacz tę tabele na widoku ogólnym i z rozwijanego menu na dole wybierz --> "usuń zaznaczone" - potwierdź i wtedy Impotuj nową bazę. ja się nie pierdzielę, tylko mam kopie i jek nie potrzeba coś działać punktowo, to zaznaczam wszystkie tabelki i je bez pardonu usuwam, a następnie wrzucam nową bazę.. Coś poszło nie tak? np. sypie się kodowanie i trzeba zaimportować ponownie? --> to usuwam ponownie i wgrywam znowu tę bazę wybierając tylko inne kodowanie.. Skąd zdublowane wpisy? zastanów się.. Berze się to stąd, że już istnieje tam tabela z wartościami i próbujesz nadpisać ją podobną treścią.. Oczywiście można i potestować np. zmianę w pliku *.sql przed importem, czyli zdublowane wpisy.., ale jeśli trafi kolejną podobną wartość ("taką samą") to wywali errora.. itd.. Należy taj jak to napisał Draco - usunąć najpierw starą bazę.. ew. po tabelce Na temat kodowania baz, problemów z nimi, a szczególnie na tle różnych hostingów i w świetle przenosin itp.. - napisać poważnie opasłe tomisko.. Dasz radę.. nie jest to trudne, ale czasem trzeba się nabiegać hehe ;) Pozdrawiam :) roco // editos.. Nie zauważyłem tego wpisu od @ProXy.. Są odpowiednie klasy, i skrypty do operacji na dużych bazach.. Ale ja zawsze, mam dodatkowo po tabelce, czasem nie wsio jest potrzebne, ale tak po prawdzie zaoszczędza mi to czasu.. usnąć starą bazę, (tylko tabele, nie całą bazę!), i w to miejsce wgrać nową, jak potrzeba to po kawałku.. to też zależy od pojarki jaką daje dany hosting.. Pozdrawiam :) Tytuł: Odp: Problem z importem bazy danych Wiadomość wysłana przez: DavO 15.12.2009 00:13:04 Quote: [select] Jeśli nie ma w kawałkach, to tworzymy na docelowym hostingu, (najlepiej!), obok już istniejącej bazy, - nową, pustą, z userem i keyem, oraz prawami ustawionymi na All. Ustawiamy od razu kodowanie takie jak mamy w naszej oryginalnej bazie, a natępnie wgrywamy tę oryginalną (Import), do nowo utworzonej, optymalizujemy i po kawałku exportujemy. Owszem to też trochę pracy, ale moja praktyka mi to właśnie podpowiada, to są tzw. "zdrowe odruchy" Zrobione wg. instrukcji. Quote: [select] Zrób kopię bazy (export), zaznacz tę jedną tabelkę i z rozwijanego meny na dole wybierz --> "wyczyść zaznaczone", następnie spróbuj wgrać (import świeżasa), jeśli nie pomoże to nie obcyndalaj sie tylko zaznacz tę tabele na widoku ogólnym i z rozwijanego menu na dole wybierz --> "usuń zaznaczone" - potwierdź i wtedy Impotuj nową bazę. Nie mam możliwości wyeksportowania ze starej bazy danych tabel, ponieważ taka funkcja została mi zablokowana. Tytuł: Odp: Problem z importem bazy danych Wiadomość wysłana przez: roco 15.12.2009 00:33:21 ..jeśli, jednak, masz tę starą bazę, to co za problem utworzyć na hostingu, obok tej co już masz nową bazę, ?
Nadaj uprawnienia na All, użytkownika i hasło do tej bazy.. Połącz się z PMA nadaj takie kodowanie bazie, jak masz na tej co już masz.. Za-Importuj tę bazę co chcesz ją mieć, do tej nowej czystej. Następnie po optymalizacji, czyli zaznacz wszystkie tabele, i wybierz z listy na dole --> "Optymalizuj zaznaczone" Następnie wy-Exportuj, bazę po tabeli i zacznij od tej pierwszej, czyli -> [smf_attachments] i w nowym tabie przeglądarki, w tej Twojej właściwej bazie - zaznacz tę jedną tabele i ją usuń, a następnie zaimportuj tę bazę (czyli ten wyexportowaną tabelę załączników), utworzy sie taka tabela i zostanie wypełniona pożądaną treścią.. Przy exporcie zwróć uwagę, tam gdzie pole: "Struktura" (po prawej), żeby było zaptaszone okienko: | v | Dodaj IF NOT EXISTS Chodzi o to, że najpierw zrób właściwą kopię tej nowej bazy coo już jest, i jak masz inna kopię tej pożądanej, to zwyczjnie nie pękaj, tylko wychlastaj wszystkie tabele, --> Zaznacz wszystko i wybierz z rozwijanego pola "Usuń zaznaczone" Wtedy sama baza będzie tam gdzie była tylko będzie pusta, bez tabel. Wtedy bez trudu wgrasz nową-porządaną.. To jest prostsze niż to opisać.. Pozdrawiam :) roco Tytuł: Odp: Problem z importem bazy danych Wiadomość wysłana przez: DavO 15.12.2009 08:08:04 Wszystko jest w porządku wystarczyło wgrać bazę ze strykturą tabelczyli:
(http://poligon.ricoroco.com/fora/foto/uploads/473a9a05b5.jpg) Serdecznie dzięki dla wszystkich za chęci do pomocy ale przede wszystkich, Rico, że masz cierpliwość i pomagasz innym w różnych problemach, dzielisz się z innymi swoją wiedzą nawet jeśli kogoś nie znasz :) Pozdrawiam. Temat można zamknąć :) Tytuł: [SOLVED] Problem z importem bazy danych Wiadomość wysłana przez: roco 15.12.2009 10:08:02 No to super! Widać łepski gościu jesteś i tak trzymaj! :b)
Co do zamykania, to raczej nie zamykam takich topów, może napiszę tylko [SOLVED], a zamknę kiedy nastąpią ataki notorycznego spamu.. Pozdrawiam :) roco |