csplit, segfault
Enleth
enleth w enleth.com
Pon, 22 Sie 2005, 03:29:04 CEST
Musiałem właśnie podzielić 253MB zrzutu SQL na pliki konkretnych baz danych,
ponad dwudziestu. Z szybkiego przejrzenia info coreutils wynikło, że się do
tego przyda csplit. I oto, co uzyskałem:
[enleth] [03:07:55] [~/jaskinia/db]$ls -lh
total 253M
-rw------- 1 enleth users 253M Aug 13 10:47 dbdump.sql
[enleth] [03:07:58] [~/jaskinia/db]$csplit dbdump.sql '/Current Database/'
'{*}'
661
Segmentation fault
[enleth] [03:08:04] [~/jaskinia/db]$ls -lh
total 255M
-rw------- 1 enleth users 253M Aug 13 10:47 dbdump.sql
-rw------- 1 enleth users 661 Aug 22 03:08 xx00
-rw------- 1 enleth users 1.8M Aug 22 03:08 xx01
Kilka kolejnych prób też się zatrzymało na 1.8MB. Na dodatek drugi plik
wynikowy bynajmniej nie skończył się w prawidłowym miejscu, a prawidłowa
treść jest w nim przemieszana z jakąś binarną sieczką, której w zrzucie
zdecydowanie nie ma - ciÄ…gi binarnych zer i powtarzajÄ…cych siÄ™ sekwencji
innych znaków niedrukowalnych, ot tak w środku SQLa.
Dalsze poszukiwania:
(gdb) run
Starting program: /usr/bin/csplit dbdump.sql /Current\ Database/ \{\*\}
(no debugging symbols found)
(no debugging symbols found)
661
Program received signal SIGSEGV, Segmentation fault.
0xb7e6a945 in memcpy () from /lib/tls/libc.so.6
W pliku jest SQL z treścią w cp1250 i UTF-8 - czyżby to dlatego, coś w csplit
sobie nie radzi z wielobajtowymi znakami?
Na google nic o tym nie znalazłem. Niestety, fragmentu pliku udostępnić nie
mogę ze względu na jego zawartość, ale sprawdzę każdą zaproponowaną
ewentualność.
A tak na teraz - czym by można uzyskać tę samą funkcjonalność? Importowanie
pliku do bazy odpada, bo zrzut obejmuje nawet tabele samego mysqld, a na
dodatek dysponuję tu maszyną która sobie z tym średnio poradzi wydajnościowo
(danych dużo więcej niż RAMu...), więc zależy mi na podzieleniu pliku do
prostego uploadowania na serwer.
--
Remigiusz "Enleth" Marcinkiewicz, enleth w enleth.com, WWW enleth.com,
JID enleth@{chrome.pl|heroes.net.pl}
-------------- nastêpna czê¶æ ---------
Załącznik, który nie był tekstem został usunięty...
Name: nie znany
Type: application/pgp-signature
Size: 189 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-users-pl/attachments/20050822/d01b413f/attachment-0001.bin
Wiêcej informacji o li¶cie dyskusyjnej pld-users-pl