Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przyczyna psucia się tabeli, Wina skryptu, ataki czy niedoskonały system mysql?
Deusx
post
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'
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
maly_swd
post
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
Go to the top of the page
+Quote Post
Deusx
post
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
Go to the top of the page
+Quote Post
maly_swd
post
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.09.2025 - 01:30