![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 2 Dołączył: 27.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, od jakiegoś czasu borykam się z problemem psucia się tabeli mysql.
Co mam na myśli pisząc "psująca się" ? Wchodząc w phpmyadmin tabela ma status "w użyciu" i nie działa (zapis, odczyt zablokowany), zazwyczaj działa "repair table" jednak czasami po jego użyciu jest komunikat can't repait, table corrupt i muszę dopisać use_frm co zazwyczaj działało i usuwało 2 lub 3 rekordy, nie koniecznie jakieś wadliwe, te "zdrowe" również. Czasem jednak i dopisana komenda use_frm daje komunikat table corrupt i jedynym wyjściem jest wyczyszczenie tabeli. Jak sobie z tym poradzić, co jest przyczyną rozwalania się bazy danych ? Baza danych jest duża (około 3 GB), jednak zazwyczaj psuje się tabela "ruchoma" która ciągle zapisuje nowe / usuwa stare rekordy. Psują się też te większe tabele, po 200k czy 2k wpisów. Te małe, które mają po 10, 20,200 są ok. up Dolaczam jeszcze blad zapytania podczas odczytu: Cytat Incorrect file format 'game_fleets'
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
1. Jaki typ bazy
2. czy nie konczy Ci sie miejsce na dysku (przy duzym obciazeniu generowane sa pliki TMP i to moze byc problemem) 3. nie zakladasz blokad na tabele a podczas wykonywania skryptu/zapytania jej nie zdejmujesz (np skrypt sie nie wykonal). Osobiscie obstawiam opcje 2 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 2 Dołączył: 27.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
1. MyISAM
2. Nie sądzę, mam wykres zajęcia dysku, który nigdy nie wykroczył ponad 30% użycia docelowej partycji. 3. Są zakładane blokady (lock table) podczas dodawania i kasowania rekordu (i to na tej tabeli, która się najczęściej psuje), jednak wtedy powinien wyskoczyć error o błędzie odczytu, ponieważ tabela jest zablokowana a nie, że tabela jest uszkodzona, kiedyś robiąc skrypt zapomniałem o unlocku i error był zupełnie inny, serwis funkcjonował. Gdzieś coś przeczytałem error o braku buforu (podczas właśnie awarii bazy), czy to może być powiązane z opcją 2 ? Ten post edytował Deusx 1.10.2011, 17:12:14 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
jeszcze moze byc to zwiazane z delay-key-write, jesli masz to wlaczone to wylacz i zobacz czy dziala.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.09.2025 - 01:30 |