incorrect key file for table

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

S -

S -

23/07/2006 14:47:00
Quote Anchor link
Ik krijg continue deze foutmelding bij mijn database tabel:

#126 - Incorrect key file for table '/tmp/#sql_2a96_0.MYI'; try to repair it

En repareren helpt niet. Waar kan dit aan liggen? Wat kan ik er aan doen?

En nu deze:

#1030 - Got error 28 from storage engine
Gewijzigd op 01/01/1970 01:00:00 door S -
 
PHP hulp

PHP hulp

17/11/2024 13:33:38
 
Jan Koehoorn

Jan Koehoorn

23/07/2006 14:48:00
Quote Anchor link
MySQL tabellen kunnen corrupt raken. Als REPAIR tabel niet helpt weet ik geen manier om hem terug te halen. Hopelijk heb je een backup.

edit: typo en een link naar een artikel over het repareren van tabellen.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
S -

S -

23/07/2006 14:50:00
Quote Anchor link
Ik heb geen backup. Maar het is alleen als ik met phpmyadmin de structuur wil bekijken. Bij de inhoud doet ie dat niet.
 
Jan Koehoorn

Jan Koehoorn

23/07/2006 14:51:00
Quote Anchor link
Dan zou ik zeker nu eerst een MySQL dump maken, als dat lukt.
 
S -

S -

23/07/2006 14:54:00
Quote Anchor link
dat heb ik nu gedaan. Moet ik nu de tabel verwijderen en opnieuw maken?
 
Jan Koehoorn

Jan Koehoorn

23/07/2006 14:56:00
Quote Anchor link
Ik zou het zo proberen:

• oude tabel een andere naam geven
• nieuwe aanmaken
 
S -

S -

23/07/2006 14:59:00
Quote Anchor link
Dat heb ik gedaan. Maar die is ook corrupt. Zelfde error.
 
S -

S -

23/07/2006 15:09:00
Quote Anchor link
De tabel doet het soms en dan krijg ik deze melding weer:

#126 - Incorrect key file for table '/tmp/#sql_2a96_0.MYI'; try to repair it
 
Pim Vernooij

Pim Vernooij

23/07/2006 15:10:00
Quote Anchor link
Je kan ook een php script maken, dat alle records uit een tabel naar een nieuwe tabel schrijft... Dus gewoon een tabel maken die exact hetzelfde is als je corupte tabel, en dan het php script erop los laten :)
 
S -

S -

23/07/2006 15:14:00
Quote Anchor link
Maar dat is hetzelfde als een backup. Wat kan er fout zijn?
 
Jan Koehoorn

Jan Koehoorn

23/07/2006 15:20:00
Quote Anchor link
Geef de tabelstructuur eens Steven? Die uit je MySQL dump?
 
S -

S -

23/07/2006 15:29:00
Quote Anchor link
Dat is een hele lange. Komt van phpbb. Maar nu heb ik er dingen aan toegevoegd. Hier heb ik nog nooit problemen mee gehad:

CREATE TABLE `phpbb_users` (
`user_id` mediumint(8) NOT NULL,
`user_active` tinyint(1) default '1',
`username` varchar(25) NOT NULL,
`user_password` varchar(32) NOT NULL,
`user_session_time` int(11) NOT NULL default '0',
`user_session_page` smallint(5) NOT NULL default '0',
`user_lastvisit` int(11) NOT NULL default '0',
`user_regdate` int(11) NOT NULL default '0',
`user_level` tinyint(4) default '0',
`user_posts` mediumint(8) unsigned NOT NULL default '0',
`user_timezone` decimal(5,2) NOT NULL default '0.00',
`user_style` tinyint(4) default NULL,
`user_lang` varchar(255) default NULL,
`user_dateformat` varchar(14) NOT NULL default 'd M Y H:i',
`user_new_privmsg` smallint(5) unsigned NOT NULL default '0',
`user_unread_privmsg` smallint(5) unsigned NOT NULL default '0',
`user_last_privmsg` int(11) NOT NULL default '0',
`user_login_tries` smallint(5) unsigned NOT NULL default '0',
`user_last_login_try` int(11) NOT NULL default '0',
`user_emailtime` int(11) default NULL,
`user_viewemail` tinyint(1) default NULL,
`user_attachsig` tinyint(1) default NULL,
`user_allowhtml` tinyint(1) default '1',
`user_allowbbcode` tinyint(1) default '1',
`user_allowsmile` tinyint(1) default '1',
`user_allowavatar` tinyint(1) NOT NULL default '1',
`user_allow_pm` tinyint(1) NOT NULL default '1',
`user_allow_viewonline` tinyint(1) NOT NULL default '1',
`user_notify` tinyint(1) NOT NULL default '1',
`user_notify_pm` tinyint(1) NOT NULL default '0',
`user_popup_pm` tinyint(1) NOT NULL default '0',
`user_rank` int(11) default '0',
`user_avatar` varchar(100) default NULL,
`user_avatar_type` tinyint(4) NOT NULL default '0',
`user_email` varchar(255) default NULL,
`user_icq` varchar(15) default NULL,
`user_website` varchar(100) default NULL,
`user_from` varchar(100) default NULL,
`user_sig` text,
`user_sig_bbcode_uid` char(10) default NULL,
`user_aim` varchar(255) default NULL,
`user_yim` varchar(255) default NULL,
`user_msnm` varchar(255) default NULL,
`user_occ` varchar(100) default NULL,
`user_interests` varchar(255) default NULL,
`user_op0` varchar(255) default NULL,
`user_op1` varchar(255) default '2',
`user_op2` varchar(255) default NULL,
`user_op3` varchar(255) default NULL,
`user_size` int(1) default '1',
`user_coord8` varchar(255) NOT NULL,
`user_coord7` varchar(255) NOT NULL,
`user_plan8` varchar(255) NOT NULL,
`user_plan7` varchar(255) NOT NULL,
`user_rank8` varchar(255) NOT NULL,
`user_rank7` varchar(255) NOT NULL,
`user_uni7` varchar(255) NOT NULL,
`user_uni8` varchar(255) NOT NULL,
`user_actkey` varchar(32) default NULL,
`user_newpasswd` varchar(32) default NULL,
`user_uni` int(1) NOT NULL,
`user_score7` int(8) NOT NULL,
`user_score8` int(8) NOT NULL,
`user_coor01` varchar(255) NOT NULL,
`user_coor02` varchar(255) NOT NULL,
`user_coor03` varchar(255) NOT NULL,
`user_coor04` varchar(255) NOT NULL,
`user_coor05` varchar(255) NOT NULL,
`user_coor06` varchar(255) NOT NULL,
`user_coor07` varchar(255) NOT NULL,
`user_coor08` varchar(255) NOT NULL,
`user_coor11` varchar(255) NOT NULL,
`user_coor12` varchar(255) NOT NULL,
`user_coor13` varchar(255) NOT NULL,
`user_coor14` varchar(255) NOT NULL,
`user_coor15` varchar(255) NOT NULL,
`user_coor16` varchar(255) NOT NULL,
`user_coor17` varchar(255) NOT NULL,
`user_coor18` varchar(255) NOT NULL,
`user_naam01` varchar(255) NOT NULL,
`user_naam02` varchar(255) NOT NULL,
`user_naam03` varchar(255) NOT NULL,
`user_naam04` varchar(255) NOT NULL,
`user_naam05` varchar(255) NOT NULL,
`user_naam06` varchar(255) NOT NULL,
`user_naam07` varchar(255) NOT NULL,
`user_naam08` varchar(255) NOT NULL,
`user_naam11` varchar(255) NOT NULL,
`user_naam12` varchar(255) NOT NULL,
`user_naam13` varchar(255) NOT NULL,
`user_naam14` varchar(255) NOT NULL,
`user_naam15` varchar(255) NOT NULL,
`user_naam16` varchar(255) NOT NULL,
`user_naam17` varchar(255) NOT NULL,
`user_naam18` varchar(255) NOT NULL,
`user_kristal` decimal(11,2) NOT NULL default '1.00',
`user_metaal` decimal(11,2) NOT NULL default '1.00',
`user_points` decimal(11,2) NOT NULL default '1.00',
PRIMARY KEY (`user_id`),
KEY `user_session_time` (`user_session_time`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Gewijzigd op 01/01/1970 01:00:00 door S -
 
Jan Koehoorn

Jan Koehoorn

23/07/2006 15:30:00
Quote Anchor link
Alleen de structuur he, niet de INSERT INTO regels. Zet hem anders even als een TXT file online.
 
Frank -

Frank -

23/07/2006 15:35:00
Quote Anchor link
Zo te zien heb je ook nog een ernstig probleem met het databasemodel. Je hebt de boel niet genormaliseerd, dit kan nog hele grote problemen gaan opleveren. Zie dit artikel over normalisatie en ga er eens mee aan de slag.

Voor de juiste datatypes, kun je hoofdstuk 11 van de MySQL-handleiding eens doornemen. Datums en tijden sla je bijvoorbeeld op in een DATE, DATETIME of TIME. Daar komt echt geen VARCHAR, INT of wat voor andere rotzooi aan te pas.

Succes!
 
Jan Koehoorn

Jan Koehoorn

23/07/2006 15:35:00
Quote Anchor link
Als ik met die query dezelfde tabel creëer op mijn locale installatie kan ik gewoon de structuur bekijken zonder foutmelding. Draai jij ook locaal? Dan zou je kunnen proberen het bestand /tmp/#sql_2a96_0.MYI tijdelijk even de extensie .zzz te geven en daarna de tabel opnieuw aanmaken en vullen.
 
S -

S -

23/07/2006 15:42:00
Quote Anchor link
Nee, het is niet lokaal.

Is het mogelijk om met een corrupte database verder te werken? Op dit moment heb ik geen problemen op het forum. Alles doet het nog.
Gewijzigd op 01/01/1970 01:00:00 door S -
 
Jan Koehoorn

Jan Koehoorn

23/07/2006 16:22:00
Quote Anchor link
Dat weet ik niet. Als je de structuur niet meer met phpMyAdmin kunt bekijken en veranderen zou het kunnen dat er ook queries stuk gaan lopen vroeg of laat.
 
S -

S -

23/07/2006 18:44:00
Quote Anchor link
Ja klopt, dit is nu het geval. Alleen de SELECT doet het nog volgens mij. Ik ben van plan de hele database eruit te knikkeren en een nieuwe te maken. Het probleem kan toch niet aan de tabellen liggen?
 
Jan Koehoorn

Jan Koehoorn

23/07/2006 18:48:00
Quote Anchor link
Ik ken de melding waarmee je topic begint niet uit mijn hoofd, maar je zou het uit kunnen testen door de naam van de tabel in de MySQL dump te veranderen en hem opnieuw aan te maken.

In de scripts moet de tabelnaam dan natuurlijk ook aangepast worden. Verder een goede tutorial over normalisatie lezen, zoals reeds gezegd. Als je een nieuwe opzet gaat maken is dat hét moment om je daarin te verdiepen.
 
S -

S -

23/07/2006 18:52:00
Quote Anchor link
Het probleem is blijkbaar nu ook bij de andere tabellen aan de gang. Hier krijg ik die melding ook regelmatig. Ik denk dus dat het niet alleen met die tabel te maken heeft maar met de hele database.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.