Kłopoty z bazą danych WordPress

Pytałem już w kilku miejscach, ale na razie bez odpowiedzi, więc może tu jakąś dostanę, bo przecież czyta ten blog przynajmniej parę osób znających się na bazach danych i okolicach.

Od kilku dni czasem przy dodawaniu lub edycji wpisów (a także próbie usunięcia niektórych stron czy wpisów) rozwala mi się tabela wp_posts w bazie danych. Dostaję taki komunikat:

WordPress database error: [Incorrect key file for table ‚wp_posts’; try to repair it]
UPDATE
wp_posts SET post_author = ‚1’, post_date = ‚2006-01-16 06:56:52’,
post_date_gmt = ‚2006-01-16 05:56:52’, post_content = ‚[ ciach
zawartośc wpisu ]’, post_content_filtered = ”, post_title = ‚Stylish’,
post_excerpt = ”, post_status = ‚publish’, comment_status = ‚open’,
ping_status = ‚open’, post_password = ”, post_name = ‚stylish’,
to_ping = ”, pinged = ”, post_modified = ‚2006-01-17 06:26:42’,
post_modified_gmt = ‚2006-01-17 05:26:42’, post_parent = ‚0’,
menu_order = ‚0’ WHERE ID = 892

Warning: Cannot modify header
information – headers already sent by (output started at
/blog/wp-includes/wp-db.php:102) in /blog/wp-admin/post.php on line 124

Polecenie ‚repair table wp_posts’ zaprawia sprawę, ale tylko na jakiś
czas. Googlałem za rozwiązaniem i chociaż znalazłem pytania o ten
problem, to jedyną odpowiedzią było odpalenie upgrade.php, a to
zrobiłem przy przejściu na WP2.0, a po pojawieniu się tych kłopotów
ponownie. Niestety nie pomogło.

Czy ktoś z Was spotkał się tym problemem i zna jego rozwiązanie? Jeżeli nie znajdę na to rady, to będę musiał spróbować na nowo instalować wp, a przynajmniej tą jedną tabelę,
skąd jednak mogę mieć pewność, że przy imporcie obecnej bazy danych nie
ściągnę sobie kłopotów na nowo?

Może Ci się również spodoba

  • Wygląda podejrzanie podobnie do tego błędu MySQL:
    http://bugs.mysql.com/bug.php?id=10903

    Raczej nie masz bazy w GB2312, ale może przyczyna jest podobna. Czy we wpisach, po których pojawiały się problemy z bazą danych, miałeś jakieś dziwne znaczki? Może po jakimś komentarzu? I jakie masz kodowanie bazy?

  • Komentarze są osobno i nie napotkałem z nimi żadnych kłopotów.

    Nie mogę dokładnie określić po jakim poście pojawiły się te kłopoty. Na pewno nie mogę edytować http://www.golf-olszewka.pl/blog/index.php/oautorze/ – tu chyba po raz pierwszy zauważyłem problemy.

    Z pozostałymi wpisami jest różnie, czasem dają się edytować, czasem nie.

    Baza, z tego co widzę w phpMyAdmin ma ustawione
    „System kodowania znaków dla MySQL: ISO 8859-2 Central European (latin2)”. System porównań dla wp_posts to „utf8_polish_ci”.

  • Na „o autorze” nie widzę nic specjalnego poza udziwnionymi cudzysłowami i apostrofem (nie są zapisywalne w iso-8859-2) — rozumiem, że te w edytorze pojawiają się jako normalne znaki.

    Nie mam innego pomysłu niż postawić gdzieś testowe WP i pobawić się trochę zrzutem Twojej bazy danych, żeby znaleźć fragment, który powoduje kłopoty. Mogę spróbować pomóc, jeśli nikt nie podpowie nic sensowniejszego.

  • Hehe, nie powiem „a nie mówiłam”, ale gdybym chciała być złośliwa, to właśnie to bym powiedziała ;)

  • Paweł

    Może problem w tym, że bazę MySQL masz w ISO 8859-2, a resztę w UTF8.

  • Właśnie spróbowałem wyczyścić „o autorze” z wszystkich znaków poza literkami, ale i tak przy zapisie się wysypało. :(

  • Ja bym zaczął od zrobienia zrzutu bazy, wywalenia jej zawartości i odtworzenia ze zrzutu, po uprzedniej zmianie wszystkiego na utf8_polish_ci albo utf8_general_ci.

  • No to juz mam co robić dziś w nocy :)

  • D-

    Masz dostęp do konfiguracji MySQLa?
    Tu: http://forums.mysql.com/read.php?21,50214,53333#msg-53333 piszą, że zostawienie key_cache_block_size na wartości domyslnej jakby pomaga na takie. Albo zmiana engine.
    W ogólności – wygląda na babol MySQLa.

  • Jako temporary workaround, mogłoby też pomóc dodanie wywołania SQL:

    USE NAMES utf8;

    Zaraz po połączeniu i wybraniu bazy.

  • Nie wiem, czy to wina kodowania, bo u siebie też mam UTF-8 w WP i ISO-8859-2 w bazie.
    Ja bym zaczął od lokalnego uruchomienia WP 1.5 z tą bazą – a nuż to sprawka wersji 2.0?

  • I feed RSS też coś Ci się spsuł. Przynajmniej planeta barfuje na niego.

  • zdzichuBG: Walidatory mówią, że feed jest ok. Google Reader też nie narzeka, a i 10przykazań dobrze z nim pracuje.

  • I nagle działa. Strange.