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?

Podobne wpisy:
  • Brak
  • Komentarze

    14 komentarzy do “Kłopoty z bazą danych WordPress”

    1. marcink, 17 stycznia 2006 o 08:06. Permalink.

      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. da.killa, 17 stycznia 2006 o 08:42. Permalink.

      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. marcink, 17 stycznia 2006 o 10:20. Permalink.

      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. Cachotterie, 17 stycznia 2006 o 10:27. Permalink.

      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. Paweł, 17 stycznia 2006 o 10:37. Permalink.

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

    6. da.killa, 17 stycznia 2006 o 12:42. Permalink.

      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. Patrys, 17 stycznia 2006 o 15:27. Permalink.

      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. da.killa, 17 stycznia 2006 o 15:31. Permalink.

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

    9. D-, 17 stycznia 2006 o 17:04. Permalink.

      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. Patrys, 17 stycznia 2006 o 18:51. Permalink.

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

      USE NAMES utf8;

      Zaraz po połączeniu i wybraniu bazy.

    11. KonMan, 17 stycznia 2006 o 20:40. Permalink.

      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. zdzichuBG, 21 stycznia 2006 o 14:11. Permalink.

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

    13. da.killa, 21 stycznia 2006 o 17:12. Permalink.

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

    14. zdzichuBG, 25 stycznia 2006 o 20:17. Permalink.

      I nagle działa. Strange.

    Zostaw komentarz




    lub


    Quicktags:

    Uwaga: Ten wpis dodałem ponad 2 lat(a) temu. Całkiem możliwe, że od tego czasu napisałem coś nowego związanego z tematem, który chcesz skomentować.