Kłopoty z bazą danych WordPress

,

Uwaga: ten wpis powstał dawno temu. Istnieje spora szansa, że nie odzwierciedla obecnych poglądów i opinii autora.

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?

14 odpowiedzi do „Kłopoty z bazą danych WordPress”

  1. Awatar marcink

    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?

  2. Awatar da.killa

    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”.

  3. Awatar marcink

    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.

  4. Awatar Cachotterie

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

  5. Awatar Paweł
    Paweł

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

  6. Awatar da.killa

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

  7. Awatar Patrys

    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.

  8. Awatar da.killa

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

  9. Awatar D-
    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.

  10. Awatar Patrys

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

    USE NAMES utf8;

    Zaraz po połączeniu i wybraniu bazy.

  11. Awatar KonMan

    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?

  12. Awatar zdzichuBG

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

  13. Awatar da.killa

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

  14. Awatar zdzichuBG

    I nagle działa. Strange.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *