Skocz do zawartości

Web Hosting Talk

  • progreso.pl

    Partner technologiczny

    Upraszczamy to, co inni starają się komplikować. Prosto, pewnie, przyjaźnie - tak robimy hosting!
  • Kei.pl

    Partner technologiczny

    Kei.pl działa na polskim rynku internetowym od 2000 roku. Obecnie na blisko 300 serwerach w Centrum Danych Kei.pl znajduje się kilkadziesiąt tysięcy stron WWW.
  • S-NET.info

    Partner technologiczny

    S-NET to dostawca usług dla biznesu. Najważniejsze usługi świadczone przez firmę to usługi Centrum Danych, dostęp do Internetu, transmisja danych oraz tranzyt do różnych operatorów.
  • Sprint Data Center

    Partner technologiczny

    Sprint Data Center to jedyne w Polsce północno-wschodniej i jednocześnie jedno z najnowocześniejszych w kraju centrum przechowywania i przetwarzania danych.

 

Odtworzenie backupu - czy da się uratować polskie znaki?


11 odpowiedzi na ten temat

Odtworzenie backupu - czy da się uratować polskie znaki?

#1 mass2as

    Nowy użytkownik

  • Użytkownicy
  • 6 postów

Napisany 08 kwiecień 2010 - 20:13

Witam serdecznie. Mam serwer, na którym robił mi się codziennie backup bazy MySQL za pomocą komendy:

mysqldump -h localhost -u root -phaslo nazwabazy --compatible=mysql40 | gzip > /nazwabazy.sql.gz

Dzisiaj nastał dzień, w którym to byłem zmuszony do skorzystania z backupu. Niestety po załadowaniu bazy w PHPMyAdmin brakuje polskich znaków, zamiast nich są pytajniki ( ? ). Wiem że jest to bardzo zła oznaka i prawdopodobnie utraciłem całą bazę danych, jednakże proszę o pomoc, może ktoś wie co może być przyczyną. Byłem święcie przekonany że backup robiony w ten sposób będzie w 100% OK, i nie będzie problemu z jego odtworzeniem. Posiadam kopię 5 kopii z 5 poprzednich dni.

Po rozpakowaniu pliku na komputerze (pod Windowsem) i otwarciu np. w Wordpadzie, albo w Notepad++ nie ma niestety polskich znaków, są wspomniane pytajniki, może to wina programów którymi otwieram bazę? Może da się ją jeszcze uratować?

PS. Proszę także o podanie sposobu na tworzenie dobrego backupu.

#2 UPhost.pl

    Weteran WHT

  • Firma Bronze
  • PipPipPipPipPipPipPipPip
  • 1158 postów
  • Skąd:Jelenia Góra
  • Firma:UPhost
  • Imię:Damian
  • Nazwisko:Miodek

Napisany 08 kwiecień 2010 - 20:17

wczytaj bazę z mysqldupm a nie z phpmyadmin i będzie ok (tak myślę)
mysql -u USERBazy -p NazwaBazy < plik.sql

lub
mysqldump -u USERBazy -p NazwaBazy < plik.sql


no i jak cię poprosi o hasło to wpiszesz je dasz enter i gotowe.
UPHost.pl - Serwery www, Serwery Reseller, Serwery za SMS, ! VPS od 18,50 zł Miesięcznie Polska lokalizacja ! Intel Xeon X3430 Quad Core w Polsce już od 271 zł miesięcznie ! Internet JEST NASZ !

#3 mass2as

    Nowy użytkownik

  • Użytkownicy
  • 6 postów

Napisany 08 kwiecień 2010 - 20:28

Niestety efekt jest ten sam.

#4 UPhost.pl

    Weteran WHT

  • Firma Bronze
  • PipPipPipPipPipPipPipPip
  • 1158 postów
  • Skąd:Jelenia Góra
  • Firma:UPhost
  • Imię:Damian
  • Nazwisko:Miodek

Napisany 08 kwiecień 2010 - 20:30

masz sam tam stronę czy z kimś jeszcze ? jak sam to wymuś kodowanie w my.cnf i może będzie ok.
UPHost.pl - Serwery www, Serwery Reseller, Serwery za SMS, ! VPS od 18,50 zł Miesięcznie Polska lokalizacja ! Intel Xeon X3430 Quad Core w Polsce już od 271 zł miesięcznie ! Internet JEST NASZ !

#5 mass2as

    Nowy użytkownik

  • Użytkownicy
  • 6 postów

Napisany 08 kwiecień 2010 - 20:33

Jest jeszcze kilka baz. A może zainstalować na innym serwerze VPS bazę i tam spróbować? Jakie kodowanie mam wymusić w my.cnf ?

PS. Proszę o podanie sposobu na wykonywanie prawidłowej kopii bazy danych, tak aby kopie innych baz na moim serwerze wykonywały się prawidłowo.

#6 UPhost.pl

    Weteran WHT

  • Firma Bronze
  • PipPipPipPipPipPipPipPip
  • 1158 postów
  • Skąd:Jelenia Góra
  • Firma:UPhost
  • Imię:Damian
  • Nazwisko:Miodek

Napisany 08 kwiecień 2010 - 20:43

kopia
mysqldump --opt -Q -u USERBazy -p BAZAsql > plik.sql
i jak wyżej... ale jak masz już bazę popsutą to bez my.cnf się nie obejdzie tylko jest jedno ale dla jednej bazy tego w my.cnf nie wymusisz....
UPHost.pl - Serwery www, Serwery Reseller, Serwery za SMS, ! VPS od 18,50 zł Miesięcznie Polska lokalizacja ! Intel Xeon X3430 Quad Core w Polsce już od 271 zł miesięcznie ! Internet JEST NASZ !

#7 regdos

    Weteran WHT

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 1504 postów
  • Skąd:Poznań
  • Firma:regdos.com
  • Imię:Tomasz
  • Nazwisko:Regdos

Napisany 08 kwiecień 2010 - 20:50

Jeżeli faktycznie otwierasz plik jakimś edytorem tekstowym np. Notepad2, który obsługuje różne kodowania i masz zawsze pytajniki to przypuszczam, że podczas wykonywania backupu zmienna default-character-set jest ustawiona na kodowanie np. latin1 a w bazie są dane utf-8 lub inne.
Odzyskanie bazy z literkami pl nie będzie możliwe.
W my.cnf jest sekcja [mysqldump] w której określamy kodowanie dla połączenie z apliakcją mysqldump za pomocą zmiennej default-character-set polecam ustawienia na
default-character-set=utf8

Możesz robiąc backup wymusić to za pomocą --default-character-set=utf8 (mysqldump --help)

Komenda do kopii podana przez Damiana jest jak najbardziej OK.

#8 mass2as

    Nowy użytkownik

  • Użytkownicy
  • 6 postów

Napisany 08 kwiecień 2010 - 20:56

Za wszelką cenę chciałbym odzyskać bazę. Spróbuję tego wymuszenia jeszcze na innym, pustym serwerze mysql.

#9 regdos

    Weteran WHT

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 1504 postów
  • Skąd:Poznań
  • Firma:regdos.com
  • Imię:Tomasz
  • Nazwisko:Regdos

Napisany 08 kwiecień 2010 - 21:01

Zobacz postmass2as, o 08 kwiecień 2010 - 20:56, powiedział:

Za wszelką cenę chciałbym odzyskać bazę. Spróbuję tego wymuszenia jeszcze na innym, pustym serwerze mysql.

No ale tak jak piszesz w pliku tekstowym z backupem masz już pytajniki to nic nie pomoże. A to wymuszeni dotyczy wykonania zrzutu danych z bazy danych do pliku.

#10 mass2as

    Nowy użytkownik

  • Użytkownicy
  • 6 postów

Napisany 08 kwiecień 2010 - 21:08

Ok, dziękuje za pomoc. Więc straciłem bazę.

Czy da się tworzyć prawidłowe backupy bez wymuszania kodowania?

Chciałbym dodać te komendy do crontaba.

#11 pzebracki

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 1360 postów
  • Skąd:Skarżysko-Kam / Łódź / Bydgoszcz
  • Imię:Patryk

Napisany 08 kwiecień 2010 - 22:03

zrzuć poprawnie baze:

mysqldump --default-character-set=latin2 -u user -p baza -h gfh.pll > baza.sql
a potem
mysql -u login -p -h sql.domena.pl nazwa_bazy < kopiabazy.sql

ps. jak zle wkonasz kopiebazy danych, to pozniej to sie ciagnie za toba.

#12 mass2as

    Nowy użytkownik

  • Użytkownicy
  • 6 postów

Napisany 09 kwiecień 2010 - 14:42

Dzięki za pomoc.

A jeszcze jedno pytanko, czy tworzenie kopii całego katalogu /var/lib/mysql jest dobrym pomysłem? Wydaje mi się że wtedy polskie znaki muszą się ostać.





1 Użytkowników czyta ten temat

0 użytkowników, 1 gości, 0 anonimowych użytkowników