Jump to content
php.lv forumi

nopietns errors


andre

Recommended Posts

peekshni paradiijaas

 

Couldn't run mysql command!3a

1016: Can't open file: 'ip.MYI'. (errno: 145)

 

peekshni tabula ip radaas kaa CRASHED

 

kaapeec taa vareetu buuut ???

 

taa jau vairaakas reizes.

 

P.S. Tabulai ip ir loti liels pieprasiijumu un ievietojumu skaits !

Link to comment
Share on other sites

peekshni paradiijaas

 

Couldn't run mysql command!3a

1016: Can't open file: 'ip.MYI'. (errno: 145)

 

peekshni tabula ip radaas kaa CRASHED

 

kaapeec taa vareetu buuut ???

 

taa jau vairaakas reizes.

 

P.S. Tabulai ip ir loti liels pieprasiijumu un ievietojumu skaits !

iespējams, ka tu pats jau ar savu 'P.S.' esi atbildējis - varētu gadīties, ka netur slodzi.

Varbūt ir vērts teiksim ievietošanu organizēt mazliet savādāk - nevis live veidā, bet gan ar kaut kādu laika nobīdi. Teiksim, iesākumā visus ievietošanas gadījumus likt nevis datubāzē, bet kādā failā un pēc tam no faila ik pa kādām 10 minūtēm grūzt iekšā datubāzē. Un ar pieprasījumiem tieši tāpat - varbūt ir vērts ieviest kaut kādu caching mehānismu, lai samazinātu slodzi uz pašu datubāzi

Link to comment
Share on other sites

Parasti tas ir ja mysqld nokillojas/nokreshojas briidii kad tiek rakstiits/ir atveerta attieciigaa tabula vai arii pie HDD probleemaam.

 

Tad vainu nu palaist shaadu SQLu REPAIR TABLE tablename; (shajaa gadijumaa REPAIR TABLE ip; )

Vai arii var externaali ar myisamchk http://www.mysql.com/doc/en/Repair.html

 

p.s. un domaat par kaut kaadu balancingu:

1. Raids (hardware vai software)

2. Vairaaki MySQL serveri ar replikaacijaam..

Link to comment
Share on other sites

tā kā *.MYI iekšā glabājas indeksi, varētu apskatīt, kas tev tur par indeksu (PRIMARY KEY) ir uzlikts - varbūt jau tiek pārsniegti tā robežas (piem., noteiktais INT zīmju skaits). Protams, REPAIR, kad jau ir aplauzies.

Izmanto rozes ieteikumu - glabāt datus iekš failiem un periodiski atjaunot datu bāzi, vai arī periodiski taisīt summēšanu:

UPDATE DELAYED ip SET `count`=COUNT(`ip`) GROUP BY `ip`; katram ip sasummē apmeklējumu skaitu un ieliec to jaunā kolonnā.

DELETE DELAYED FROM ip WHERE COUNT(`ip`)>1 LIMIT COUNT(`ip`)-1 GROUP BY `ip`;

nodzēš dubultos ierakstus.

vai tml.

 

Vai vismaz liec datus iekš tabulas ar INSERT DELAYED (gadījumā ja tagad tas tā nav).

Link to comment
Share on other sites

×
×
  • Create New...