Odtworzenie backupu - czy da się uratować polskie znaki?
Odtworzenie backupu - czy da się uratować polskie znaki?
#1
Napisany 08 kwiecień 2010 - 20:13
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
Napisany 08 kwiecień 2010 - 20:17
mysql -u USERBazy -p NazwaBazy < plik.sqllub
mysqldump -u USERBazy -p NazwaBazy < plik.sql
no i jak cię poprosi o hasło to wpiszesz je dasz enter i gotowe.
#3
Napisany 08 kwiecień 2010 - 20:28
#4
Napisany 08 kwiecień 2010 - 20:30
#5
Napisany 08 kwiecień 2010 - 20:33
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
Napisany 08 kwiecień 2010 - 20:43
mysqldump --opt -Q -u USERBazy -p BAZAsql > plik.sqli 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....
#7
Napisany 08 kwiecień 2010 - 20:50
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
Napisany 08 kwiecień 2010 - 20:56
#9
Napisany 08 kwiecień 2010 - 21:01
mass2as, o 08 kwiecień 2010 - 20:56, powiedział:
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
Napisany 08 kwiecień 2010 - 21:08
Czy da się tworzyć prawidłowe backupy bez wymuszania kodowania?
Chciałbym dodać te komendy do crontaba.
#11
Napisany 08 kwiecień 2010 - 22:03
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
Napisany 09 kwiecień 2010 - 14:42
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













