|
: [SOLVED] Problem z importem bazy danych : 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. : Odp: Problem z importem bazy danych : 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 ... : Odp: Problem z importem bazy danych : 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.
: Odp: Problem z importem bazy danych : 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 ;) : Odp: Problem z importem bazy danych : 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.
: Odp: Problem z importem bazy danych : 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 :) : Odp: Problem z importem bazy danych : 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. : Odp: Problem z importem bazy danych : 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 : Odp: Problem z importem bazy danych : 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?? :) : [SOLVED] Problem z importem bazy danych : 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 |