Seite 1 von 1

HELP: phpbb_search_wordmatch "zerschossen"

Verfasst: 05.06.2009 10:15
von uwe.ha
Hallo Datenbankexperten,

ich hatte eben - per HeidiSQL - meine DB "optimiert".
Als die Tabelle phpbb_search_wordmatch (5,6 Mio Records / 250MB) dran war, habe ich gleichzeitig eine Suche im Forum durchgeführt, die ja in dieser Tabelle stattfindet ... ob das ein Fehler war???

Nach Abschluß der Optimierung heißt es nun:
"/* SQL Error: Table './d007dfec/phpbb_search_wordmatch' is marked as crashed and last (automatic?) repair failed */" :oops:

Ich habe mittlerweile eh auf fulltext-sql-Suche umgestellt, brauch also die Tabelle eigentlich nicht, würde sie aber gerne wieder "reparieren", zumindest so, dass sie von der Struktur ok ist; Inhalt brauche ich nicht.

Jetzt will ich auch nicht "stundenlang" mein letztes Backup hochladen ... es gibt doch bestimmt einen einfachen SQL-Befehl (create table ...), der diese Tabelle neu erzeugt (quasi so, wie bei der Erstinstallation).

Das Forum ist bereits auf 3.0.5 upgedatet.

VIELEN DANK!

***
EDIT: In meinem letzten Backup habe ich folgende Zeile gefunden:

Code: Alles auswählen

DROP TABLE IF EXISTS `phpbb_search_wordmatch`;

#
# Table structure for table 'phpbb_search_wordmatch'
#

CREATE TABLE `phpbb_search_wordmatch` (
  `post_id` mediumint(8) unsigned NOT NULL default '0',
  `word_id` mediumint(8) unsigned NOT NULL default '0',
  `title_match` tinyint(1) unsigned NOT NULL default '0',
  UNIQUE KEY `unq_mtch` (`word_id`,`post_id`,`title_match`),
  KEY `word_id` (`word_id`),
  KEY `post_id` (`post_id`)
) ENGINE=MyISAM /*!40100 DEFAULT CHARSET=utf8 COLLATE=utf8_bin*/;
Ist das das richtige?
Reicht es, wenn ich genau diesen SQL-Befehl in der DB ausführe?
Oder muss ich die betreffenden Tabelle erst vorher manuell löschen?

DANKE!

Re: HELP: phpbb_search_wordmatch "zerschossen"

Verfasst: 05.06.2009 10:51
von coolsoft
Setz erstmal

Code: Alles auswählen

REPAIR TABLE phpbb_search_wordmatch
ab - könnte schon reichen

Re: HELP: phpbb_search_wordmatch "zerschossen"

Verfasst: 05.06.2009 10:52
von Mahony
Hallo
Verwende einfach diesen SQL-Befehl (falls die Reparatur fehlschlägt)

Code: Alles auswählen

DROP TABLE IF EXISTS `phpbb_search_wordmatch`;
CREATE TABLE `phpbb_search_wordmatch` (
  `post_id` mediumint(8) unsigned NOT NULL default '0',
  `word_id` mediumint(8) unsigned NOT NULL default '0',
  `title_match` tinyint(1) unsigned NOT NULL default '0',
  UNIQUE KEY `unq_mtch` (`word_id`,`post_id`,`title_match`),
  KEY `word_id` (`word_id`),
  KEY `post_id` (`post_id`)
) TYPE=MyISAM;
damit wird die bestehende Tabelle gelöscht und gleich wieder neu angelegt.



Grüße: Mahony

Re: HELP: phpbb_search_wordmatch "zerschossen"

Verfasst: 05.06.2009 10:58
von uwe.ha
Reparieren ging nicht mehr ...
Mahony hat geschrieben:Hallo
Verwende einfach diesen SQL-Befehl (falls die Reparatur fehlschlägt)
...
damit wird die bestehende Tabelle gelöscht und gleich wieder neu angelegt.
Jep ... sie lebt wieder.
DANKE!!!

Re: HELP: phpbb_search_wordmatch "zerschossen"

Verfasst: 05.06.2009 11:36
von oxpus
Hallo,

kleiner Tipp am Rande zu HeidiSQL:
Abgesehen davon, dass das Programm deutlich komfortabler zu bedienen ist, als z. B. phpmyadmin oder mysqldumper, stellt es zunächst eine Sicherheitslücke dar, weil man "von aussen" direkt auf den Datenbank-Server zugreift!
Darüber hinaus kann das Programm gerade bei grösseren Tabellen (eben wie der Suchindex) Probleme bereiten, wenn mal die Internet-Verbindung "wackelt".
Ich selber setze das Programm zwar auch ein, aber nur für meine lokal installierten Foren, um hier schneller voran zu kommen, als mit phpmyadmin oder mysqldumper. Und meist auch nur für Testzwecke.
Besser daher nur "kleine" Aktionen über HeidiSQL ausführen oder eben nur für ein lokal installiertes (Test-)Forum verwenden, online dagegen besser für Backups mysqldumper, bzw. für grössere DB-Aktionen phpmyadmin verwenden.
Reparieren lassen sich Tabellen nämlich über phpmyadmin auch recht bequem und dazu (weil dieses ständig und auch schneller weiter entwickelt wird als HeidiSQL) auch IMHO fehlerfreier arbeitet.
Wobei ich damit nicht ausdrücken will, das HeidiSQL grobe Fehler hat oder die Datenbank am laufenden Band "zerbröselt". Das Programm hat schon viele Vorteile...

Re: HELP: phpbb_search_wordmatch "zerschossen"

Verfasst: 05.06.2009 12:26
von uwe.ha
Hallo OXPUS,
Danke für den Hinweis, das "Problem" ist mir bekannt.
Ich hatte lange Zeit phpMyAdmin benutzt, und war nicht so ganz zufrieden; warum genau weiß ich nicht mehr, vielleicht wegen timeouts?
Im Thema http://www.phpbb.de/community/viewtopic ... 4&t=172977 habe ich dann nach einer Alternative gesucht und bin so zu HeidiSQL gekommen.